次の方法で共有


メッセージの送信者にアドレス エントリの詳細を表示する

トランスポート プロバイダーが配信できる各メール メッセージの受信者は、プロバイダーのセッションのアドレス帳の階層構造にアドレス エントリを持ちます。 このトピックでは、現在インスペクターに表示されているメール アイテムの送信者のアドレス エントリ情報をプログラムで表示する方法を説明します。

  1. 現在表示されているメール アイテムの場合は、 PropertyAccessor オブジェクトを使用して、送信者のエントリ ID を決定します。

  2. AddressEntry オブジェクトを返すには、現在のセッションの NameSpace.GetAddressEntryFromID メソッドを使用します。

  3. AddressEntry.AddressEntryUserType プロパティを使用して AddressEntry の種類を特定し、それに応じて詳細を表示します。

    • アドレスエントリが Outlook 連絡先フォルダー内の連絡先アイテムである場合、または送信者の SMTP アドレスが既定の連絡先フォルダー内の 1 つの連絡先アイテムのメール アドレスと一致する場合は、連絡先インスペクターにアドレス入力情報を表示します。 Contacts フォルダー内のメール アドレスを一致させるには、Table オブジェクトを使用して、そのフォルダー内のアイテムの ContactItem.Email1AddressContactItem.Email2AddressContactItem.Email3Address プロパティに対してクイック フィルターを実行します。
  • それ以外の場合は、[Emailプロパティ] ダイアログ ボックスにアドレス入力情報を表示します。

注釈

このコード サンプルを実行するには

  1. メール メッセージを開き、アクティブなインスペクターに表示します。

  2. コードは、組み込みの ThisOutlookSession モジュールに配置します。

  3. 次の手順を TestAddressEntryDetails 実行して、アクティブなインスペクターのメール メッセージにアドレスエントリの詳細を表示します。

Sub TestAddressEntryDetails() 
 Dim oMail As MailItem 
 
 Set oMail = Application.ActiveInspector.CurrentItem 
 DisplayAddressEntryDetails oMail 
End Sub 
 
 
Sub DisplayAddressEntryDetails(oM As MailItem) 
 Dim oPA As Outlook.PropertyAccessor 
 Dim oContact As Outlook.ContactItem 
 Dim oSender As Outlook.AddressEntry 
 Dim SenderID As String 
 
 'Create an instance of PropertyAccessor 
 Set oPA = oM.PropertyAccessor 
 
 'Obtain PidTagSenderEntryId and convert to string 
 SenderID = oPA.BinaryToString _ 
 (oPA.GetProperty("https://schemas.microsoft.com/mapi/proptag/0x0C190102")) 
 
 'Obtain AddressEntry Object of the sender 
 Set oSender = Application.Session.GetAddressEntryFromID(SenderID) 
 
 'Examine AddressEntryUserType 
 If oSender.AddressEntryUserType = olOutlookContactAddressEntry Then 
 'Obtain ContactItem for AddressEntry 
 Set oContact = oSender.GetContact 
 oContact.Display 
 'Display details for Exchange or SMTP sender 
 Else 
 oSender.Details 
 End If 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。