从全局地址列表MSDN收集AddressEntry对象

时间:2015-03-03 12:16:04

标签: c# outlook

使用下面的代码片段,我可以获得第一个匹配的单个addressEntry对象。如何在全局地址列表下获取匹配的addressEntries对象的集合。

Microsoft.Office.Interop.Outlook.Application app = new Outlook.Application();
Outlook.AddressList gal = app.Session.GetGlobalAddressList();
Outlook.AddressEntry entry = gal.AddressEntries[name];

2 个答案:

答案 0 :(得分:0)

您需要遍历地址列表中的所有项目,以获取符合您要求的所有地址条目。

另外,您可以考虑调用AddressList类的GetContactsFolder方法,该方法获取表示AddressList对象的Contacts文件夹的Folder对象。然后,您就可以使用Find / FindNextRestrict方法查找相应的联系人。您可以在以下文章中阅读有关这些方法的更多信息:

答案 1 :(得分:0)

在扩展MAPI级别(C ++或Delphi)上,您可以在PR_ANR上创建RES_PROPERTY限制,并在相应IABContainer对象的内容表上调用IMAPITable :: Restrict。这与Outlook在针对特定容器解析名称并显示模糊名称对话框时使用的限制相同。

如果使用Redemption是一个选项,则可以使用其RDOSession.Addresbook.GAL.ResolveNameEx方法(返回RDOAddressEntries集合)。