IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Carnet d'adresse Global : Récupérer la liste des Adresses de messagerie


Sujet :

VBA Outlook

  1. #1
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut Carnet d'adresse Global : Récupérer la liste des Adresses de messagerie
    Bonjour,

    Je cherche à récupérer les différentes adresses de messagerie qui pointent sur une même boîte mail.

    En gros, le SMTP principal et les smtp secondaires

    On peut les consulter en faisant un clic-droit sur le contact >> Propriété >> Adresses de messagerie

    Après avoir épluché les propriétés offertes, je n'ai pas trouvé mon bonheur

    Nom : Sans titre.png
Affichages : 492
Taille : 10,2 Ko

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    c'est cadeau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub GetAliasFromdefaultuser()
    '---------------------------------------------------------------------------------------
    ' Procedure : GetAliasFromRecipient
    ' Author    : Oliv
    ' Date      : 22/11/2018
    ' Purpose   :
    '---------------------------------------------------------------------------------------
    '
        Dim myOlApp
        Dim Dest, AliasArray, i
        On Error Resume Next
        If StrComp(Application, "Outlook", vbTextCompare) = 0 Then
            Set myOlApp = Application
        Else
            Set myOlApp = CreateObject("outlook.application")
        End If
     
        Set Dest = myOlApp.Session.currentuser
        Dim exc: Set exc = Dest.AddressEntry.GetExchangeUser
        Const PR_EMS_AB_PROXY_ADDRESSES = "http://schemas.microsoft.com/mapi/proptag/0x800F101F"
        AliasArray = Dest.AddressEntry.propertyAccessor.GetProperty(PR_EMS_AB_PROXY_ADDRESSES)
        Set Wk = Application.Workbooks.Add
        Set WS = Wk.ActiveSheet
        WS.Cells(1, 1).Value = "ALIAS"
        For i = 0 To UBound(AliasArray) - 1
            WS.Cells(i + 2, 1).Value = Split(AliasArray(i), ":")(1)
        Next i
     
        WS.Cells(1, 3).Value = "PRIMARYSMTP"
        WS.Cells(2, 3).Value = exc.PrimarySmtpAddress
     
    End Sub

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Salut,

    ah ! Merci, j'ai toujours du mal à trouver la PropTag qui va bien

    J'ai adapté à mon besoin : boucler sur le carnet d'adresse globale et extraire les alias

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Sub GetAliasFromGlobalAddressEntry()
        Dim myOlApp As Object
        Dim AliasArray
        Dim i As Long, j As Long
        Dim AllGal As Object, Exc As Object, Dest As Object
        Dim Wb As Workbook, Ws As Worksheet
     
        Const PR_EMS_AB_PROXY_ADDRESSES = "http://schemas.microsoft.com/mapi/proptag/0x800F101F"
     
        On Error Resume Next
        If StrComp(Application, "Outlook", vbTextCompare) = 0 Then
            Set myOlApp = Application
        Else
            Set myOlApp = CreateObject("outlook.application")
        End If
     
        Set AllGal = myOlApp.Session.GetGlobalAddressList().AddressEntries
        With Application.Workbooks.Add
            With .ActiveSheet
                .Cells(1, 1).Value = "Adresse Principale"
     
                For i = 1 To AllGal.Count
                    Set Dest = AllGal.Item(i)
                    Set Exc = Dest.GetExchangeUser
                    AliasArray = Dest.propertyAccessor.GetProperty(PR_EMS_AB_PROXY_ADDRESSES)
     
                    .Cells(i + 1, 1).Value = Exc.PrimarySmtpAddress
     
                    For j = 0 To UBound(AliasArray) - 1
                        .Cells(i + 1, j + 2).Value = Split(AliasArray(j), ":")(1)
                    Next j
                Next i
     
                .Cells(1, 2).Resize(1, .UsedRange.Columns.Count - 1).Value = "ALIAS"
            End With
        End With
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer la liste des noms des champs d'une table
    Par la_didise dans le forum Access
    Réponses: 2
    Dernier message: 29/05/2006, 16h55
  2. Comment récupérer la liste des contacts de outlook express?
    Par arnaud_verlaine dans le forum Outlook Express / Windows Mail
    Réponses: 6
    Dernier message: 12/10/2004, 15h53
  3. [MAP] comment récupérer la liste des clé ordonnées
    Par Alec6 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 21/07/2004, 16h37
  4. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41
  5. Récupèrer la liste des disques durs
    Par Tililian dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/06/2003, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo