Необработанное исключение типа «System.Runtime.InteropServices.COMException» произошло в .NET - PullRequest
0 голосов
/ 18 августа 2011

Я получил эту ошибку при запуске приложения, в котором используется Microsoft Office Excel. На моем компьютере не установлен Microsoft Office, поэтому я думаю, что это может быть проблемой. Я ссылался на некоторые библиотеки, которые помогли бы запустить приложение, но это не помогло, и я все еще сталкиваюсь с ошибкой.

Это полное сообщение об ошибке: «Произошло необработанное исключение типа« System.Runtime.InteropServices.COMException »в« имени приложения ».

Дополнительная информация: COM-объект с CLSID {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
  • 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, где происходит ошибка.

Может ли кто-нибудь помочь мне обойти это. Спасибо.

1 Ответ

0 голосов
/ 18 августа 2011

Идея заключается в том, что вы открываете Excel внешне как необработанный объект, если у вас его не установлено, это ваша проблема.

При использовании внешних объектов не забывайте запускать с ними сборку мусора, поскольку они находятся в неуправляемой куче и не могут быть автоматически очищены из .NET Framework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...