通过编程添加Outlook联系人和通讯组

下面代码可以为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();
posted @ 2010-03-28 23:18  陈希章  阅读(1581)  评论(0编辑  收藏  举报