首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'System.Runtime.InteropServices.COMException‘

'System.Runtime.InteropServices.COMException‘
EN

Stack Overflow用户
提问于 2014-05-02 19:24:12
回答 1查看 3.7K关注 0票数 1

我正在尝试在c#.net应用程序中检索outlook联系人。但是,在创建outlook应用程序的对象时,我遇到以下错误

代码语言:javascript
复制
 "AnswerWizard = '((Microsoft.Office.Interop.Outlook.ApplicationClass.(outlookObj)).AnswerWizard' threw an exception of type 'System.Runtime.InteropServices.COMException'"

我尝试使用revsvr32 "DLL Path“注册动态链接库,但出现模块已加载但未找到DLLRegisterServer的错误。

这是我写的代码:

代码语言:javascript
复制
        DataSet ds = new DataSet();
        ds.Tables.Add("Contacts");
        ds.Tables[0].Columns.Add("Email ID");
        ds.Tables[0].Columns.Add("FirstName");
        ds.Tables[0].Columns.Add("LastName");

        Microsoft.Office.Interop.Outlook.Items OutlookItems;
        Microsoft.Office.Interop.Outlook.Application outlookObj;
        MAPIFolder Folder_Contacts;

        outlookObj = new Microsoft.Office.Interop.Outlook.Application();
        Folder_Contacts =(MAPIFolder)outlookObj.Session.GetDefaultFolder  (OlDefaultFolders.olFolderContacts);
        OutlookItems = Folder_Contacts.Items;

        for (int i = 0; i < OutlookItems.Count; i++)
        {
            Microsoft.Office.Interop.Outlook.ContactItem contact =(Microsoft.Office.Interop.Outlook.ContactItem)OutlookItems[i + 1];
            DataRow dr = ds.Tables[0].NewRow();
            dr[0] = contact.Email1Address;
            dr[1] = contact.FirstName;
            dr[2] = contact.LastName;

            ds.Tables[0].Rows.Add(dr);
            if (i == 10)
                break;
        }
        dgvContacts.DataSource = ds.Tables[0];
        return ds;

我把计数设为零。

EN

回答 1

Stack Overflow用户

发布于 2014-05-03 00:43:32

我不认为Application.AnswerWizard曾经在Outlook中工作过。你想做什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23426980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档