三流君 ken3のmemo置き場

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



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

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

.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 連絡先・アドレス帳を操作する

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