System.Runtime.InteropServices.COMException (0x80010108) при создании экземпляра Excel в vb.net 3.5

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

    System.Runtime.InteropServices.COMException (0x80010108): Creating an instance of the COM component with CLSID {00024500-0000-0000-C000-000000000046} from the IClassFactory failed due to the following error: 80010108.

В приведенном ниже коде я создаю экземпляр Excel и запускаю его.

    Dim xlsApp As New Excel.Application
    Dim xlsWB As Excel.Workbook
    Dim xlsWS As Excel.Worksheet

    Try
        If ugLoadDeviationsDetails.DataSource IsNot Nothing Then

            'Creates a temporary excel file with data located in the grid
            UltraGridExcelExporter1.Export(ugLoadDeviationsDetails, "C:\ProgramData\Data-Tronics\ShellFiles\LoadDeviations\tempExcel")

            xlsWB = xlsApp.Workbooks.Open("C:\ProgramData\Data-Tronics\ShellFiles\LoadDeviations\tempExcel")

            xlsWS = DirectCast(xlsWB.Sheets("Sheet1"), Excel.Worksheet)
            DirectCast(xlsWS.Cells.EntireRow, Excel.Range).ClearFormats()
            DirectCast(DirectCast(xlsWS.Cells("1", "A"), Excel.Range).EntireRow().Cells, Excel.Range).Interior.Color = Color.LightGray.ToArgb

            DirectCast(xlsWS, Excel.Worksheet).Copy()

            xlsWB.Close(False)

            xlsApp.Visible = True
            xlsApp.UserControl = True

        Else
            RaiseEvent ShowError("Cannot write file when grid is empty.")
        End If 
    Catch ex As Exception

        For Each wb As Excel.Workbook In xlsApp.Workbooks
            wb.Close(False)
        Next
        xlsApp.Quit()
    Finally
        xlsApp = Nothing
        xlsWB = Nothing
        xlsWS = Nothing
    End Try

Согласно трассировке стека, он разбивается на следующую строку:

    Dim xlsApp As New Excel.Application

Руководитель проекта использует ту же версию Excel, что и я (2010 г.), может ли кто-нибудь объяснить, почему это может произойти, и как я могу это исправить?


person Sai    schedule 22.10.2012    source источник
comment
возможный дубликат COMException (0x80010108 - RPC_E_DISCONNECTED) при закрытии Excel.Workbook   -  person paulsm4    schedule 22.10.2012
comment
@ paulsm4 Я так не думаю, поскольку это происходит при создании нового приложения Excel.Application в первый раз и пока только на одной машине (которая находится в двух днях езды).   -  person Sai    schedule 22.10.2012
comment
Excel запустился, но тут же снова закрылся, не попрощавшись. С ним что-то не так, такая проблема, которая заставляет вас переустанавливать Office.   -  person Hans Passant    schedule 22.10.2012
comment
@HansPassant Это то, чем мы сейчас занимаемся. Мы показали, что это работает на 4-5 других машинах, так что это наиболее вероятная причина. Спасибо   -  person Sai    schedule 25.10.2012


Ответы (1)


Попробуй это

xlsApp = CreateObject("Excel.Application")
xlsBook = xlsApp.Workbooks.Add
xlsSheet = xlsBook.Worksheets.Add
person Quannt    schedule 05.11.2012