読者です 読者をやめる 読者になる 読者になる

三流君 ken3のmemo置き場

メモ置き場、保管庫として利用。まとまっていませんがヨロシク



Outlook VBA .SaveAsで連絡先を書き出すテスト

Outlook VBA

アイテム
連絡先のデータを

.SaveAs ファイル名, タイプ olMSG
で書き出してみた。

怪しい実演動画

いつもの怪しい実演動画(テスト動画です)
Outlook VBA .SaveAsでアイテムを書き出す

下記のコードと合わせてみてください。

テストで使用したコード

'アイテムの書き出し .SaveAs ファイルの場所, olmsg で書き出す
Sub write_msg_test()

    Dim oNamespace As NameSpace
    
    Dim oFolder As Outlook.Folder 'フォルダー
    Dim cITEM   As Outlook.ContactItem '連絡先アイテム
    Dim n As Integer              'ループのカウンター
    Dim strFILENAME As String

    ' NameSpace オブジェクトへの参照を取得します。
    Set oNamespace = Application.GetNamespace("MAPI")
    
    ' 既定のフォルダへの参照を取得し、フォルダを表示します。
    Set oFolder = oNamespace.GetDefaultFolder(olFolderContacts) '連絡先を指定
    oFolder.Display   '選択したフォルダーの表示
    'Set Application.ActiveExplorer.CurrentFolder = oFolder

    'フォルダーの下 アイテムを.SaveAs で 書き出す
    '連絡先の数分ループ
    Debug.Print "連絡先の数は " & oFolder.Items.Count
    For n = 1 To oFolder.Items.Count  'アイテム数分ループ
        Set cITEM = oFolder.Items(n)  '変数に代入
        '↑代入が終わったので、cITEM.XXXX で メソッド(動作)の実行
        strFILENAME = "F:\TEMP\連絡先" & n & ".msg"    'ファイル名をフォルダー+連絡nの連番 にする
        cITEM.SaveAs strFILENAME, olMSG  'olMSG=3やolTXT=0など書き出すタイプを指定する
    Next
    
    '使用したオブジェクトの解放 = Nothing
    Set cITEM = Nothing
    Set oFolder = Nothing
    Set oNamespace = Nothing

End Sub

終わりの挨拶

まだまだ、探りかたとサンプルが甘いけど、

三流君VBAでOutlookを操作する
三流君 Outlook Mail メールを操作する
三流君 Outlook Task 仕事・タスクを操作する
三流君 Outlook Appointment 予定表を操作する
三流君 Outlook Contact 連絡先・アドレス帳を操作する

で、細々解説しているので、良かったらのぞきにきてください。