Anzeigen von Adresseintragsdetails für den Absender einer Nachricht
Für den Empfänger jeder E-Mail-Nachricht, die durch einen Transportanbieter übermittelt werden kann, ist in der Adressbuchhierarchie des Anbieters für die Sitzung ein Adresseintrag vorhanden. In diesem Thema wird das programmatische Anzeigen der Adresseintragsinformationen des Absenders eines zurzeit in einem Inspektor angezeigten E-Mail-Elements beschrieben.
Verwenden Sie für das zurzeit angezeigte E-Mail-Element das PropertyAccessor -Objekt, um die Eintrags-ID des Absenders zu ermitteln.
Verwenden Sie die NameSpace.GetAddressEntryFromID -Methode der aktuellen Sitzung, um ein AddressEntry -Objekt zurückzugeben.
Verwenden Sie die AddressEntry.AddressEntryUserType -Eigenschaft, um den Typ des AddressEntry-Objekts zu ermitteln, und zeigen Sie dann die Details entsprechend an:
- Wenn der Adresseintrag ein Kontaktelement im Outlook-Kontaktordner ist oder die SMTP-Adresse des Absenders mit einer E-Mail-Adresse eines Kontaktelements im Standardordner Kontakte übereinstimmt, zeigen Sie die Adresseintragsinformationen in einem Kontaktinspektor an. Um E-Mail-Adressen im Ordner Kontakte abzugleichen, verwenden Sie das Table-Objekt, um einen schnellen Filter nach den Eigenschaften ContactItem.Email1Address, ContactItem.Email2Address und ContactItem.Email3Address von Elementen in diesem Ordner durchzuführen.
- In allen anderen Fällen zeigen Sie die Adresseintragsinformationen im Dialogfeld eigenschaften Email an.
Hinweise
So führen Sie dieses Codebeispiel aus
Öffnen Sie eine E-Mail-Nachricht, damit sie im aktiven Inspektor angezeigt wird.
Platzieren Sie den Code im integrierten Modul ThisOutlookSession.
Führen Sie die
TestAddressEntryDetails
Prozedur aus, um Adresseintragsdetails für die E-Mail-Nachricht im aktiven Inspektor anzuzeigen:
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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.