Исключение COM HRESULT 0x800AC472 при вызове функции Excel.Worksheet.Open - PullRequest
0 голосов
/ 14 июля 2020

Я не могу открыть файл Excel ни ".xls", ни ".xlsx" Book1.xlsx - это образец файла, представляющий собой пустой лист.

      Dim excelApp As New Excel.Application
      Dim wBook1 As Excel.Workbook
      excelApp.Workbooks.Open("C:\Book1.xlsx", False, False)

Если Excel.Workbooks.Open () вызывается функция, будет выдана ошибка.

Сообщение об ошибке

          COM exception HRESULT: 0x800AC472.

1 Ответ

0 голосов
/ 14 июля 2020

Я нашел причину. Невозможно открыть, потому что открывается Sheet1. Он покажет диалог сохранения. Поэтому я должен принудительно закрыть все листы в книге.

     Dim excelApp As New Excel.Application
      If Not excelApp Is Nothing Then
          For Each wb As Excel.Workbook In excelApp.Workbooks
              wb.Close(False)
          Next
              excelApp.Quit()
      End If

Но я не понимаю. Каждый раз, когда я создаю новый экземпляр Excel.Application, он автоматически создает Sheet1. Почему?

...