Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

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

Ancien nº de publication de cet article : F17818
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

ID d'article : 467818 - Dernière mise à jour : 07/01/1999 00:00:00 - Révision : 1.0

Microsoft Visual Basic 6.0 Édition professionnelle

  • KB467818
Commentaires
me("head")[0].appendChild(m);