2014-05-02 72 views
1

我想在c#.net應用程序中檢索我的outlook聯繫人。 但是,在創建Outlook應用程序的對象,我收到錯誤'System.Runtime.InteropServices.COMException'

"AnswerWizard = '((Microsoft.Office.Interop.Outlook.ApplicationClass.(outlookObj)).AnswerWizard' threw an exception of type 'System.Runtime.InteropServices.COMException'" 

我試着用revsvr32「DLL路徑」註冊DLL,但我正在逐漸模塊的誤差加載,但不是的DLLRegisterServer發現。

這是我寫的代碼:

 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; 

而且我得到的計數爲零。

+0

這是一個非常普遍的例外,你應該發佈它從 –

回答

0

我不認爲Application.AnswerWizard在Outlook中工作過。你想做什麼?

+0

拋出的代碼請看看代碼。 我的目標是開發一個應用程序,允許用戶從一個從Outlook獲取數據的人員搜索DR的結構。 –

+0

但是,它確實與AnswerWizard有關嗎?它甚至從未在您的代碼中引用過。 –

+0

這是生成的異常。當我在調試期間將光標放在Outlook對象上時,出現此錯誤。 –

相關問題