我正在使用MS Office 2010.我想从Outlook分发列表中获取成员详细信息。
我的Outlook配置了两个电子邮件ID。一个是客户另一个是公司。
我在Excel中有一个代码来检查分发列表并将详细信息导入Excel。
我可以从分发列表中导入默认邮件ID的详细信息。我无法从其他电子邮件中选择分发列表。它试图默认搜索DL并选择错误的名称。
这是我的代码
Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olAL As Outlook.AddressList
Dim olEntry As Outlook.AddressEntry
Dim olMember As Outlook.AddressEntry
Dim lMemberCount As Long
Dim objMail As Outlook.MailItem
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set olAL = olNS.AddressLists("Global Address List")
Set objMail = olApp.CreateItem(olMailItem)
' enter the list name
Set olEntry = olAL.AddressEntries(".DL IS Support")
' get count of dist list members
lMemberCount = olEntry.Members.Count
答案 0 :(得分:0)
Outlook对象模型不允许您针对特定AB容器解析名称。您需要使用扩展MAPI(C ++或Delphi),通过对该容器的内容表创建PR_ANR限制(IMAPITable::Restrict
)。
如果使用Redemption是一个选项,则会公开允许针对给定容器解析名称的RDOAddressList。ResolveName
/ ResolveNameEx
方法。可以从RDOSesion.AddressBook.AddressLists
或从RDOExchangeAccount。GAL检索容器。可以从RDOSession.Accounts集合中检索RDOExchangeAccount
对象。