OutlookのVBAを利用して宛先アドレスをメールアイテムから取得するときに、表示名しか取得できず困っていましたが、マイクロソフトのディベロッパーセンターに解決方法が記載されていましたので、カンタンにご紹介したいと思います。
表示名とメールアドレスの違いについて
画像をみていただくとわかるのですが、アドレスを表示するために2つの値を持っています。
上は表示名で通常メールで宛先を入力するとこちらが画面に表示されます。
下のメールアドレスは実際の宛先となる値です。
困ったことはVBAで宛先をItemオブジェクトから取得すると表示名しか値がないことです。
前回のドメインチェックを行う際に表示名の値だけではチェックができませんよね。
下のメールアドレスが欲しいわけです。
メールアドレスを取得する方法
参考にした情報がこちらです。
参考:受信者の電子メールアドレスを取得する
内容はカンタンに要約するとメールアイテムのRecipientsコレクションのさらにPropertyAccessorというところにMAPI の値でSMTPアドレスが入ってますよということです。
デバッグしてみるとどうでしょう。
Recipientsコレクションにあるのは確認できましたが、その直下のitem**に登録アドレス毎に分かれており、さらにその直下のAddressに格納されているようですね。
サンプルのコードは上記サイトにあり、コピペでいけますので興味のある方は試していただければと思います。
以上、ドメイン付きのSMTPアドレスを取得する場合の参考情報でした。
コメントを残す