Partager via


Mapper un nom d’affichage à une adresse Email

Cette rubrique présente un exemple de code dans Visual Basic pour Applications (VBA) qui prend un nom d’affichage et tente de le mapper à une adresse e-mail connue du système de messagerie dans la session active.

Pour chaque session Outlook, le fournisseur de transport définit un ensemble de conteneurs de carnets d’adresses auxquels le système de messagerie peut remettre des messages. Chaque conteneur de carnet d’adresses correspond à une liste d’adresses dans Outlook. Si un nom d’affichage est défini dans l’ensemble de conteneurs de carnet d’adresses, le nom complet peut être résolu dans la session active et il existe une entrée dans une liste d’adresses qui correspond à ce nom complet. Notez que les entrées d’une liste d’adresses peuvent être de différents types, notamment un utilisateur Exchange et une liste de distribution Exchange.

Dans cet exemple de code, la fonction ResolveDisplayNameToSMTP utilise le nom d’affichage « Dan Wilson » comme exemple. Il tente d’abord de vérifier que le nom complet est défini dans une liste d’adresses en créant un objet Recipient basé sur ce nom d’affichage, puis en appelant Recipient.Resolve. Si le nom est résolu, ResolveDisplayNameToSMTP utilise l’objet AddressEntry mappé à l’objet Recipient pour obtenir davantage le type et, si possible, l’adresse e-mail :

Sub ResolveDisplayNameToSMTP() 
 Dim oRecip As Outlook.Recipient 
 Dim oEU As Outlook.ExchangeUser 
 Dim oEDL As Outlook.ExchangeDistributionList 
 
 Set oRecip = Application.Session.CreateRecipient("Dan Wilson") 
 oRecip.Resolve 
 If oRecip.Resolved Then 
 Select Case oRecip.AddressEntry.AddressEntryUserType 
 Case OlAddressEntryUserType.olExchangeUserAddressEntry 
 Set oEU = oRecip.AddressEntry.GetExchangeUser 
 If Not (oEU Is Nothing) Then 
 Debug.Print oEU.PrimarySmtpAddress 
 End If 
 Case OlAddressEntryUserType.olExchangeDistributionListAddressEntry 
 Set oEDL = oRecip.AddressEntry.GetExchangeDistributionList 
 If Not (oEDL Is Nothing) Then 
 Debug.Print oEDL.PrimarySmtpAddress 
 End If 
 End Select 
 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.