Assicurare i contatti in una lista di distribuzione vengono visualizzate sia con nome e l'indirizzo e-mail

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

Domanda

Come posso garantire che i contatti che metti in una lista di distribuzione di Outlook vengono visualizzati sia con nome e indirizzo email? Questi contatti non possono esistere in qualsiasi altra rubrica, solo la lista di distribuzione. Attualmente si fanno vedere solo come un indirizzo di posta elettronica (in entrambe le colonne).

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

Ecco grosso modo la VBA che stiamo usando:

    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
È stato utile?

Soluzione 2

Grazie a Dick Kusleika per la sua risposta, ma di Graeme risposta qui mi ha dato un'idea ci potrebbe essere un modo più semplice.

E questo è proprio quello di parentesi angolari uso nella voce alla lista di distribuzione. Come in "Ringo Starr<rstarr@example.com>"

Il che funziona bene.

Quindi il mio esempio originale sarebbe simile a questa:

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

Altri suggerimenti

Credo che bisogna creare un ContactItem per ogni destinatario in modo da poter definire il nome. Ecco un esempio:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top