يتم عرض جهات الاتصال في قائمة التوزيع مع كل من الاسم وعنوان البريد الإلكتروني
-
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
لا تنتمي إلى StackOverflow