三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
Ken3三流君の連絡先:
[google formsで連絡する]
上記の問い合わせフォームに質問・感想など気軽に書き込んでください

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

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

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

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

怪しい実演動画

いつもの怪しい実演動画(テスト動画です)
Outlook VBA .SaveAsでアイテムを書き出す
www.youtube.com
下記のコードと合わせてみてください。

テストで使用したコード

'アイテムの書き出し .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 連絡先・アドレス帳を操作する

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


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

[Googleフォームにコメントを残す]
↑質問・コメントの入力フォームです、気軽に書いてください


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~