尝试使用C#连接Outlook

时间:2014-10-31 05:46:30

标签: c# outlook registry office-interop

我正在尝试使用c#获取Outlook功能(附件,邮件,联系人)。

示例代码:

using System.Text;
using Microsoft.Office.Interop.Outlook;

namespace Happy_bday_automation
{
    class Program
    {
        private void SendEmailtoContact(string name)
        {
            string subjectEmail = "Happy Bday" + name;
            string bodyEmail = "Meeting is one hour later.";
            ContactItem contact1 = new ContactItem();
            contact1.Email1Address=name+"@ca.com";
            this.CreateEmailItem(subjectEmail, contact1.Email1Address, bodyEmail);
        }
}
}

所以当我创建contactItem对象时,我会收到类似

的错误

mscorlib.dll中出现未处理的“System.Runtime.InteropServices.COMException”类型异常

附加信息:由于以下错误,检索CLSID为{00061031-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。

请提出一些解决方案:)

提前感谢。

1 个答案:

答案 0 :(得分:1)

ContactItem不是可创建的对象,只有Outlook.Application是。

可以使用Application.CreateItem(OlItemType.olContactItem)MAPIFolder.Items.Add("IPM.Contact")创建新联系人,其中MAPIFolder是联系人文件夹。可以使用Application.Session.GetDefautlFolder(olFolderContacts)检索默认的“联系人”文件夹。