使用下面的代码片段,我可以获得第一个匹配的单个addressEntry对象。如何在全局地址列表下获取匹配的addressEntries对象的集合。
Microsoft.Office.Interop.Outlook.Application app = new Outlook.Application();
Outlook.AddressList gal = app.Session.GetGlobalAddressList();
Outlook.AddressEntry entry = gal.AddressEntries[name];
答案 0 :(得分:0)
您需要遍历地址列表中的所有项目,以获取符合您要求的所有地址条目。
另外,您可以考虑调用AddressList类的GetContactsFolder方法,该方法获取表示AddressList对象的Contacts文件夹的Folder对象。然后,您就可以使用Find / FindNext或Restrict方法查找相应的联系人。您可以在以下文章中阅读有关这些方法的更多信息:
答案 1 :(得分:0)
在扩展MAPI级别(C ++或Delphi)上,您可以在PR_ANR上创建RES_PROPERTY限制,并在相应IABContainer对象的内容表上调用IMAPITable :: Restrict。这与Outlook在针对特定容器解析名称并显示模糊名称对话框时使用的限制相同。
如果使用Redemption是一个选项,则可以使用其RDOSession.Addresbook.GAL.ResolveNameEx方法(返回RDOAddressEntries集合)。