Afficher les détails de l’entrée d’adresse pour l’expéditeur d’un message
Le destinataire de chaque message remisable par un fournisseur de transport détient une entrée d’adresse dans la hiérarchie de carnets d’adresses du fournisseur dans le cadre de la session. Cette rubrique décrit comment afficher par programme les informations de l’entrée d’adresse de l’expéditeur d’un élément de courrier affiché dans un inspecteur.
Pour l’élément de courrier actuellement affiché, utilisez l’objet PropertyAccessor pour déterminer l’ID d’entrée de l’expéditeur.
Utilisez la méthode NameSpace.GetAddressEntryFromID de la session active pour renvoyer un objet AddressEntry .
Utilisez la propriété AddressEntry.AddressEntryUserType pour déterminer le type de AddressEntry, puis affichez les détails en conséquence :
- Si l’entrée d’adresse est un élément de contact dans le dossier Contacts Outlook, ou si l’adresse SMTP de l’expéditeur correspond à l’adresse e-mail d’un élément de contact dans le dossier Contacts par défaut, affichez les informations d’entrée d’adresse dans un inspecteur de contacts. Pour faire correspondre les adresses de messagerie dans le dossier Contacts, utilisez l’objet Table pour effectuer un filtre rapide sur les propriétés ContactItem.Email1Address, ContactItem.Email2Address et ContactItem.Email3Address des éléments de ce dossier.
- Dans tous les autres cas, affichez les informations d’entrée d’adresse dans la boîte de dialogue Propriétés Email.
Remarques
Pour exécuter cet exemple de code :
Ouvrez un message de manière à l’afficher dans l’inspecteur actif.
Placez le code dans le module intégré ThisOutlookSession.
Exécutez la
TestAddressEntryDetails
procédure pour afficher les détails de l’entrée d’adresse sur le message électronique dans l’inspecteur actif :
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
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.