2011-08-18 573 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框架内自动清洗。

相关问题