我想检索Outlook通讯组列表的成员。他们中的大多数只包含联系人。然而,奇怪的是,我发现其中一些包含了自己。当在Outlook中双击这些时,我可以看到他们的成员,但我无法找到在VBA中访问这些成员的可能性。
以下代码打印本地联系人列表中所有通讯组列表中的所有成员,但正如我所提到的,对于某些通讯组列表,它只会自行打印。
示例结果如下所示: PDL - sampleList PDL - sampleList - sampleList@company.com
Sub test()
Dim objDistList As DistListItem
Const olFolderContacts = 10
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set colContacts = objNamespace.GetDefaultFolder(olFolderContacts).Items
intCount = colContacts.Count
For i = 1 To intCount
If TypeName(colContacts.Item(i)) = "DistListItem" Then
Set objDistList = colContacts.Item(i)
Debug.Print objDistList.DLName
For j = 1 To objDistList.MemberCount
Debug.Print objDistList.GetMember(j).Name & " -- " & objDistList.GetMember(j).Address
Next
End If
Next
End Sub
答案 0 :(得分:0)
检查从GetMember返回的Recipient.DisplayType是否为OlDisplayType.olPrivateDistList类型?然后,您就知道将其解析为DL中的嵌入式DL。