Office関連

[Outlook VBA]Outlookオブジェクトモデルとして公開されていないプロパティにアクセスする方法

前回の記事で久しぶりにOutlookのマクロを触りましたが、ついでに昔書いたマクロが掘り起こされたので、関連資料のリンク含めて記事として書き残しておきます。


通常、メールの件名や本文といった情報を取得したい場合は、SubjectやBodyといったプロパティを使用しますが、PropertyAccessorオブジェクトを使用することでMAPIのプロパティにアクセスし、Outlookオブジェクトモデルとして公開されていないプロパティの情報も取得・設定することができます。

値を取得する具体的なコードは下記の通りで、(PropertyAccessor).GetPropertyメソッドでプロパティを指定しています(ここで指定している名前空間については下記ページ参照)。

Public Sub Sample()
  With ActiveExplorer.Selection.Item(1) 'Outlook.MailItem
    'ロケールID取得(PR_MESSAGE_LOCALE_ID)
    Debug.Print .PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3FF10003")
    
    '添付ファイルの拡張子取得(PR_ATTACH_EXTENSION_W)
    If .Attachments.Count > 0 Then
      With .Attachments.Item(1) 'Outlook.Attachment
        Debug.Print .PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3703001F")
      End With
    End If
  End With
End Sub

MAPIプロパティIDは下記サイトでも調べることができますが、量が膨大なため、個人的には「MFCMAPI」を使って調べることをお薦めします。

MFCMAPIについては下記サイトの説明が分かりやすいかと思います。

MFCMAPIは、以前はCodePlexで公開されていましたが、現在はGitHubで最新版が公開されているので、下記ページからダウンロードしてください。

同様のツールとして「OutlookSpy」がありますが、こちらはシェアウェアなので私は使ったことが有りません。

今回はあまり詳しく解説しませんでしたが、PropertyAccessorオブジェクト経由で色んなプロパティにアクセスできることを覚えておくと、Outlookマクロを書くときに役立つでしょう。

また、取得したプロパティの値の意味を調べる際、ヘッダーファイルを手元に置いておくと便利だと思います。

メールを閉じたときに指定したフォルダに移動するOutlookマクロ前のページ

2021年4月の人気記事次のページ

関連記事

  1. Office関連

    関数一覧(Excel 2010)

    関数の挿入ダイアログから抽出したExcel 2010の関数情報をリスト…

  2. アイコン一覧

    Office 365アイコン(imageMso)一覧(G)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  3. Office関連

    プログラムのソースコードを別の言語に変換するVBAマクロ

    SharpDevelopが公開している、ソースコードを変換するAPI「…

  4. Office アドイン

    [Office用アプリ]アプリを削除する。

    「JavaScriptで作成した作業ウィンドウアプリを検証してみる。」…

  5. Office関連

    「IEを自在に操る Excel VBAプログラミング入門」レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2013年9月2…

  6. Office関連

    文字列を横方向に移動するWordマクロ(WordBasic編)

    いつもお世話になっているWord MVPの新田さんが、まるでカニの動き…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP