2011-08-18 576 views
0

運行,涉及到的Microsoft Office Excel的應用程序時,我得到這個錯誤。我的電腦沒有安裝Microsoft Office,所以我認爲這可能是問題所在。我引用了一些可以幫助應用程序運行的庫,但它沒有幫助,我仍然遇到錯誤。「System.Runtime.InteropServices.COMException」類型的未處理的異常出現在.NET

這是整個錯誤消息: 「‘System.Runtime.InteropServices.COMException’類型的未處理的異常發生在‘應用程序名’

其他信息:用CLSID COM對象{00024500-0000- 0000-C000-000000000046}無效或未註冊。「

下面是我使用的庫:

  • Interop.Excel
  • Interop.KEYCODEV2Lib
  • Interop.Microsoft.Office.Core
  • Interop.Office
  • Interop.VBIDE
  • 的Microsoft.Office.Interop.Excel
  • Microsoft.Vbe.Interop
  • stdole
  • 系統
  • System.Data
  • System.Drawing中
  • System.Windows.Form
  • 了System.XML

這裏是發生錯誤的碼塊:

cboCounty.Enabled = False 
    If ofdExcel.ShowDialog = DialogResult.OK Then 
     txtFile3.Text = ofdExcel.FileName 
     btnClear.Enabled = True 
     Application.DoEvents() 

     myExcel = New Excel.Application 
     myExcel.DisplayAlerts = False 

     wbLog = myExcel.Workbooks.Open(ofdExcel.FileName, True, True) 
     cboCounty.Items.Clear() 

     For s As Integer = 1 To wbLog.Worksheets.Count 
      wsLog = wbLog.Worksheets(s) 
      If UCase(wsLog.Name) <> "SUMMARY" Then 
       cboCounty.Items.Add(wsLog.Name) 
      End If 
     Next 

     cboCounty.Enabled = True 
    End If 

上線myExcel = New Excel.Application發生錯誤。

有人能幫助我周圍的工作與此有關。 謝謝。

+0

唯一的例外是想告訴你,沒有安裝Office。需要。 –

回答

0

這背後的想法是,你打開Excel作爲外部未處理的對象,如果你沒有安裝它,這是你的問題。

當使用外部對象記得與他們運行垃圾回收,因爲它們是在非託管堆中,不能從.NET框架內自動清洗。

相關問題