Assurer les contacts dans une liste de distribution sont affichés à la fois le nom et l'adresse e-mail

StackOverflow https://stackoverflow.com/questions/2773908

Question

Comment puis-je assurer que les contacts que j'ajouter à une liste de distribution Outlook sont affichés avec le nom et l'adresse e-mail? Ces contacts ne peuvent pas exister dans un autre carnet d'adresses, juste la liste de distribution. À l'heure actuelle, ils apparaissent comme une adresse e-mail (dans les deux colonnes).

texte alt http://img52.imageshack.us/img52/1804/tempgg .jpg

Voici à peu près la VBA nous utilisons:

    Do Until RS.EOF

        //here's where we want to inject RS!FirstName, RS!Surname etc
        objRecipients.Add RS!Email
        objRecipients.Resolve

        RS.MoveNext
    Loop


    Set objDistList = contactsFolder.Items.Add("IPM.DistList")
    objDistList.DLName = "Whatever"

    objDistList.AddMembers objRecipients
    objDistList.Save

    etc
Était-ce utile?

La solution 2

Merci à Dick Kusleika pour sa réponse, mais la réponse Graeme ici m'a donné une idée qu'il pourrait y avoir un moyen plus facile.

Et qui est juste équerres d'utilisation dans l'entrée à la liste de distribution. Comme dans "Ringo Starr<rstarr@example.com>"

Ce qui fonctionne très bien.

Donc, mon exemple original ressemblerait à ceci:

objRecipients.Add RS!FullName & "<" & RS!Email & ">"

Autres conseils

Je pense que vous devez créer un ContactItem pour chaque destinataire afin que vous puissiez définir le nom. Voici un exemple:

Sub testdistlist()

    Dim oRecips As Recipients
    Dim ciDist As DistListItem
    Dim ci As ContactItem
    Dim mi As MailItem

    Set mi = Application.CreateItem(olMailItem)
    Set oRecips = mi.Recipients

    Set ciDist = Application.CreateItem(olDistributionListItem)

    'replace this with your recordset loop
    Set ci = Application.CreateItem(olContactItem)
    ci.FirstName = "John"
    ci.LastName = "Lennon"
    ci.Email1Address = "jlennon@example.com"
    ci.Save

    oRecips.Add ci.FullName

    Set ci = Application.CreateItem(olContactItem)
    ci.FirstName = "Ringo"
    ci.LastName = "Starr"
    ci.Email1Address = "rstarr@example.com"
    ci.Save

    oRecips.Add ci.FullName
    'end replace

    ciDist.AddMembers oRecips

    ciDist.Save
    ciDist.Display
    mi.Close olDiscard

End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top