Обеспечение контактов в списке рассылки отображаются как с именем, так и адресом электронной почты
-
03-10-2019 - |
Вопрос
Как я могу обеспечить контакты, которые я добавляю в список рассылки Outlook, отображаются как с именем, так и адресом электронной почты? Эти контакты могут не существовать в любой другой адресной книге, просто список рассылки. В настоящее время они отображаются так же, как адрес электронной почты (в обоих столбцах).
Alt Text http://img52.imageshack.us/img52/1804/tempgg.jpg.
Вот примерно VBA, мы используем:
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
Решение 2
Благодаря Дику Куслейике за его ответ, но Ответ Грэм здесь дал мне идею, что может быть проще.
И это просто для использования угловых кронштейнов в записи в список рассылки. Как в "Ringo Starr<rstarr@example.com>"
Который работает просто хорошо.
Так что мой оригинальный пример будет выглядеть так:
objRecipients.Add RS!FullName & "<" & RS!Email & ">"
Другие советы
Я думаю, что вы должны создать контактный файл для каждого получателя, чтобы вы могли определить имя. Вот пример:
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