Récupérer toutes les adresses d'un utilisateur

Numéro d'article: 467818 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F17818
Agrandir tout | Réduire tout

Résumé

Les informations contenues dans cet article s'appliquent O :
- Microsoft Visual Basic For Windows 4.0 32 Bit
- Microsoft Visual Basic For Windows 5.0
- Microsoft Visual Basic For Windows 6.0
- Microsoft Exchange Serveur 5.5


Symptômes


Comment obtenir la liste de toutes les adresses d'un utilisateur avec CDO
? Cette liste correspond à la liste obtenues dans l'onglet "Adresses
d'e-mail".

Résolution


Pour réaliser cette opération, il sera nécessaire d'utiliser une valeur
particulière de la collection Fields de la propriété AddressEntry de
l'objet Recipient.
Const ActMsgPR_EMS_AB_PROXY_ADDRESSES = &H800F101E

L'exemple ci-dessous nécessite l'ajout de la référence à le librairie "CDO
1.2 object library" (cdo.dll) dans votre projet Visual Basic (Projet /
RUfUrences) :

Option Explicit
Const ActMsgPR_EMS_AB_PROXY_ADDRESSES = &H800F101E
Private Sub Command1_Click()

Dim objSession As MAPI.Session
Dim objAddrEntries As AddressEntries
Dim objAddressEntry As AddressEntry
Dim objFilter As AddressEntryFilter
Dim tpmString As String

Set objSession = CreateObject("MAPI.Session")
objSession.Logon

Set objAddrEntries = objSession.AddressLists _
("Liste d'adresses globale").AddressEntries

' On recherche un utilisateur particulier
Set objFilter = objAddrEntries.Filter
objFilter.Fields.Add CdoPR_SURNAME, "Jean"
objFilter.Fields.Add CdoPR_GIVEN_NAME, "Virginie"

Set objAddressEntry = objAddrEntries.GetFirst

' Récupération des adresses de type "Autre"
Call GetOtherAddress(objAddressEntry, tpmString)

Debug.Print tpmString

For Each objAddressEntry In objAddrEntries
Debug.Print objAddressEntry.Name
Debug.Print "Adresse SMTP: " & objAddressEntry.Address
Debug.Print "Nom du responsable: " & objAddressEntry.Manager
Next

objSession.Logoff
Set objFilter = Nothing
Set objAddrEntries = Nothing
Set objSession = Nothing
End Sub

' Cette fonction récupère l'adresse SMTP

Public Sub GetOtherAddress(objAddressEntry, ByRef strAddress)

Dim strTempAddress
Dim astrAddresses
Dim cAddresses
Dim iAddress

strAddress = ""

If Not objAddressEntry Is Nothing Then
astrAddresses =
objAddressEntry.Fields.Item(ActMsgPR_EMS_AB_PROXY_ADDRESSES)
cAddresses = UBound(astrAddresses)
For iAddress = LBound(astrAddresses) To cAddresses
strTempAddress = astrAddresses(iAddress)
Debug.Print strTempAddress
Next
End If
End Sub

REMARQUES : Vous pouvez télécharger cdo 1.21 à l'adresse :
http://microsoft.com/exchange/55/downloads/CDO.htm

Propriétés

Numéro d'article: 467818 - Dernière mise à jour: jeudi 1 juillet 1999 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 6.0 Édition professionnelle
Mots-clés : 
KB467818
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com