パソコン関連の書籍等を読んで試したりしながらアウトプットしまくります。

アウトプットしながら学ぶ

EXCELマクロVBA プログラミング

VBAで開封確認メールのメールアドレスを取得する方法

更新日:

Excel VBAでOutlook.Applicationを使用し、シートにあるメールアドレスリストに対して、開封確認付きのメールを送信し、開封確認のメールが届いたら、メールアドレスリストにチェックをつけるというプログラムを作ることにしました。

開封確認のメールのメールを開くと、OutLookの画面上では送信元のメールアドレスが取得できるので、簡単にできるだろうとおもったらダメでした。
TypeName関数でメールオブジェクトのタイプを確認すると、MailItemではなくて、ReportItemとなっています。ReportItemの場合、送信元のメールアドレスを簡単に取得することができないようです。
PropertyAccessorを使い、proptag、0x007D001Eを指定することで、メールヘッダーを取得することができます。

以下のような形式でメールアドレスが記述されていたので、メールヘッダーの「From:」と「To:」の間からメールアドレスを抽出するという方法で取得しました。

From: =?iso-2022-jp?#####################=?=
<〇〇〇@xxx.xx>
To: =?iso-2022-jp?#####################=?=
<●●●@xxx.xx>







-EXCELマクロVBA, プログラミング

Copyright© アウトプットしながら学ぶ , 2024 AllRights Reserved Powered by AFFINGER4.