Puisqu'il n'est pas possible d'utiliser une liste de distribution d'Outlook pour créer des lettres types (il n'est pas possible de sélectionner ces listes), je voudrais lire les informations de contact des contacts dans une liste de distribution. Selon les API, il devrait être possible d'obtenir l'élément ContactItem ou de lire la propriété avec l'accesseur de propriété.Obtenir des détails de contact Outlook à partir de Contact dans la liste de distribution
Les deux ne fonctionnent pas. Un moyen facile serait de lire uniquement le nom du contact (ce que je peux lire à partir de AddressEntry) et de rechercher dans le carnet d'adresses Outlook. Mais je pense que c'est lourd et pourrait être sujet à erreur.
Voir mon code de test ci-dessous. Les deux, GetContact() et GetProperty() ne fonctionnent pas.
Existe-t-il un autre moyen d'obtenir les coordonnées telles que le prénom, l'adresse professionnelle, etc.?
Option Explicit
Sub test()
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection
Dim myOlDistList As Outlook.DistListItem
Dim nrListItems As Integer
Dim myRecipient As Outlook.Recipient
Dim myAddressEntry As Outlook.AddressEntry
Dim myContactItem As Outlook.ContactItem
Dim myPropertyAccessor As Outlook.propertyAccessor
Dim givenName As String
Set myOlExp = Application.ActiveExplorer
Set myOlSel = myOlExp.Selection
Set myOlDistList = myOlSel.Item(1)
For nrListItems = 1 To myOlDistList.MemberCount
Set myRecipient = myOlDistList.GetMember(nrListItems)
Set myAddressEntry = myRecipient.AddressEntry
' does not work
Set myContactItem = myAddressEntry.GetContact
Set myPropertyAccessor = myAddressEntry.propertyAccessor
' does also not work
givenName = myPropertyAccessor.GetProperty("urn:schemas:contacts:givenName")
Next nrListItems
End Sub