首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >System.Runtime.InteropServices.COMException类型的未处理异常发生在.NET中

System.Runtime.InteropServices.COMException类型的未处理异常发生在.NET中
EN

Stack Overflow用户
提问于 2011-08-18 10:54:14
回答 1查看 3.8K关注 0票数 0

在运行涉及Microsoft的Excel的应用程序时,出现了此错误。我的计算机没有安装Microsoft,所以我认为这可能是问题所在。我引用了一些可以帮助应用程序运行的库,但是没有帮助,而且我仍然遇到了错误。

这是整个错误消息:“'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
  • System.Data
  • System.Drawing
  • System.Windows.Form
  • System.XML

下面是发生错误的代码块:

代码语言:javascript
运行
复制
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上。

有人能帮我解决这件事吗。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-08-18 10:58:00

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

当使用外部对象时,请记住与它们一起运行垃圾收集,因为它们位于非托管堆上,不能在.NET框架内自动清除。

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

https://stackoverflow.com/questions/7106261

复制
相关文章

相似问题

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