【问题标题】:An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in .NET.NET 中出现“System.Runtime.InteropServices.COMException”类型的未处理异常
【发布时间】:2011-08-18 10:54:14
【问题描述】:

我在运行涉及 Microsoft Office 的 Excel 的应用程序时收到此错误。我的电脑没有安装 Microsoft Office,所以我认为这可能是问题所在。我引用了一些有助于应用程序运行的库,但没有帮助,我仍然遇到错误。

这是整个错误消息: “‘应用程序名称’中发生了‘System.Runtime.InteropServices.COMException’类型的未处理异常。

附加信息:CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 对象无效或未注册。”

以下是我使用的库:

  • 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上。

有人可以帮我解决这个问题吗? 谢谢。

【问题讨论】:

  • 异常是试图告诉您未安装 Office。必填。

标签: .net excel exception


【解决方案1】:

这背后的想法是,您在外部打开 Excel 作为一个未处理的对象,如果您没有安装它,这是您的问题。

使用外部对象时,请记住对它们运行垃圾回收,因为它们位于非托管堆上,无法从 .NET 框架内自动清理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 2020-07-22
    • 2021-01-14
    • 2014-06-03
    • 2011-10-18
    • 2014-03-09
    相关资源
    最近更新 更多