通过编程添加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 @   陈希章  阅读(1584)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示