Outlook插件 - 搜索全球通讯录

时间:2010-05-11 18:24:06

标签: c# .net outlook outlook-addin

有谁知道如何在Exchange服务器上搜索全球通讯簿?似乎“地址簿”与公共联系人列表不同,因此这个流行的示例代码(或类似代码)指向一组完全不同的联系人:

Outlook.Application app = new Outlook.Application();
Outlook._NameSpace olNS = app.GetNamespace("MAPI");
Outlook._Folders oFolders = olNS.Folders;
Outlook.MAPIFolder oContactsFolder = olNS.Folders["Public Folders"].Folders["All Public Folders"].Folders["Contacts"];

我需要搜索特定的联系人姓名。 PS: - 我正在使用outlook 2007。 非常感谢...

2 个答案:

答案 0 :(得分:0)

如果您在线,使用ADSI进行通话即可离线,离线时您正在查看扩展地图,并使用兑换在SO上找到here的答案。

答案 1 :(得分:0)

这个过程非常繁琐且容易出错。 我想你可能会发现Add-In Express上的文章有用:

HowTo: Convert Exchange-based email address into SMTP email address

我认为它不需要他们的工具才能工作,但我不太确定,因为我在尝试时使用它们。 代码在VB中,但如果您愿意,他们可以在C#中下载示例项目。它相当长并且有很多COM对象调用,因此需要经验。此外,我不太确定它是否适用于64位版本的Outlook。也许你想先试试这个。