作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何通过 EntryID 使用 C# VSTO Outlook 2007 插件打开联系人。
现在我正在查找联系人文件夹中的所有联系人:
string entryid = ...
Outlook.Application outlookApp = new Outlook.Application();
Outlook.MAPIFolder fldContacts = outlookApp.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts) as Outlook.MAPIFolder;
foreach (Outlook._ContactItem contact in fldContacts.Items)
{
if (contact.EntryID==entryid) {
contact.Display(false);
break;
}
}
但这不是联系人文件夹中许多联系人的有效代码
最佳答案
您想使用 GetItemFromID NameSpace 对象的方法(不直观的是,这可以像您在上面所做的那样通过 Application.Session 属性访问。)
您将需要要从中检索项目的 MAPI 商店的商店 ID。这可以最容易地从您也已经获得引用的文件夹对象中检索。
string entryid = ...
var outlookApp = new Outlook.Application();
var outlookNS = outlookApp.Session;
var fldContacts = outlookNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);
var contact = outlookNS.GetItemFromID(entryid, fldContacts.StoreID);
关于C# VSTO 展望 2007 : How to show contact by EntryID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4599624/
我是一名优秀的程序员,十分优秀!