В настоящее время я реализую метод, который сгенерировал несколько листов и экспортировал их как PDF. Для этого я использую библиотеку Microsoft.Office.Interop (v14.0.0.0) с .NET 4.5.2. Запуск офис является 2016.Net Interop Excel ExportAsFixedFormat() Exception HResult: 0x800A03EC
Мой код:
Dim excel As New Application()
excel.Visible = False
excel.DisplayAlerts = False
Dim workbooks As Workbooks
workbooks = excel.Workbooks
Dim workbook As Workbook = workbooks.Add(Type.Missing)
[...]
workbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, String.Format(<a Path>)
ReleaseComObject(workSheet)
workbook.Close()
ReleaseComObject(workbook)
excel.Quit()
ReleaseComObject(excel)
ReleaseComObject() выглядит следующим образом (в соответствии с Microsoft Support):
Private Sub ReleaseComObject(objectToRelease As Object)
While System.Runtime.InteropServices.Marshal.ReleaseComObject(objectToRelease) > 0
End While
objectToRelease = Nothing
End Sub
Это прекрасно работает, если я запускаю этот код для одной итерации BUT Я заметил, что EXCEL-Process все еще работает.
Если я пытаюсь сделать это в пакетном режиме (в смысле для цикла) я получаю excetion при вводе 2-й Интерактивного:
System.Runtime.InteropServices.COMException (0x800A03EC) : Ausnahme фон HRESULT: 0x800A03EC Bei Microsoft.Office.Interop.Excel.WorkbookClass.ExportAsFixedFormat (XlFixedFormatType Тип, объект файла, объект, качество IncludeDocProperties объектов, IgnorePrintAreas Object, Object From, To Object, Object OpenAfterPublish, объект FixedFormatExtClassPtr) Bei контроллер .CreateListing (данные DataTable, Int32 year, String mandantShortName) в ...
линия, которая бросает исключение:
workbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, String.Format(<a Path>)
Для Reseach/тестирования я отлажена до того повторного входа в петлю и убил первенствовать-процесс, но без каких-либо изменений.
Кто-нибудь сталкивался с этой проблемой? Решения/предложения?
Пожалуйста, посмотрите это сообщение http://stackoverflow.com/questions/15697282/excel-application-not-quitting-after-calling-quit – Codexer