下面代码可以为Outlook添加联系人和通讯组。但要注意,Outlook需要处于打开状态,否则会收到下面的异常
从 IClassFactory 为 CLSID 为 {0006F03A-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a。
具体原因目前没有搞清楚
OL.Application app = new OL.ApplicationClass();
OL.DistListItem dist = (OL.DistListItem)app.CreateItem(OL.OlItemType.olDistributionListItem);
dist.Subject = group;
foreach (var contact in contacts)
{
OL.ContactItem item = (OL.ContactItem)app.CreateItem(OL.OlItemType.olContactItem);
//item.FirstName = "ares";//名字
//item.LastName = "chen";//姓
item.LastName = contact.Name.Substring(0, 1);
item.FirstName = contact.Name.Substring(1);
item.FullName = contact.Name;//完整名称
item.CompanyName = contact.CompanyName;//公司名称
item.Email1Address = contact.Email;
item.Save();
OL.Recipient r = app.Session.CreateRecipient(item.FullName);
OL.Recipient r2 = app.Session.CreateRecipient(item.Email1Address);
r.Resolve();
r2.Resolve();
if (r.Address == r2.Address)
dist.AddMember(r);
else
dist.AddMember(r2);
}
dist.Save();