Assicurare i contatti in una lista di distribuzione vengono visualizzate sia con nome e l'indirizzo e-mail
-
03-10-2019 - |
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
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