2016-10-21 2 views
0

Простой VB.NET код для открытия существующего файла Excel постоянно не в открытой команды со следующей ошибкой:Open Excel 2016 файл не удалось с HRESULT: 0x800706be

удаленный вызов процедур не удалось. (Исключение из HRESULT: 0x800706BE)

Я искал Stack Overflow и сайты Microsoft для этой ошибки, похоже, что никто не имеет окончательного ответа. Но, похоже, все происходит последовательно с 64-битным Excel.

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

Imports Microsoft.Office.Interop.Excel 
Dim XLApp As Application = New Application() 
Dim XLWkb as Workbook = XLApp.Workbooks.Open("TestExcel.xlsx") 
Dim XLSht as WorkSheet = XLWkb.Sheet(1) 
XLWkb.Close() 
XLApp.Quit() 
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLSht) 
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLWkb) 
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLApp) 

Приведенный выше код хранится неудачу в XLApp.Workbooks.Open соответствии с этим ужасным сообщением.

My windows is Windows 7 Enterprise Service Pack 1, 64-bit 
My Excel is 2016 MSO (16.0.6701.1041) 64-bit version. 
My MS Office is MS Office 365 ProPlus -en US (2016 version) 
My VS is Visual Studio Community 2015 Version 14.0.24720.00 Update 1 
Visual Basic 2015 00322-20000-00000-AA181 
My project has the following references: 

    Microsoft.Office.Core: Microsoft Office 16.0 Object Library 
    Microsoft.Office.Interop.Excel : Microsoft Excel 16.0 Object Library 
    VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3 

Кроме того, я попытался положить файл Excel в моем C: \ Users личной папки, а также пытался использовать «CreateObject("Excel.Application")» для создания приложения Excel, все потерпели неудачу с тем же сообщением об ошибке при «Open» вызов.

Хорошо, я также пробовал эту же программу на другом 64-битном компьютере Windows 7 Professional с MS Office 2007 (следовательно, библиотекой объектов Microsoft Excel 12.0 и т. Д.), Скомпилированной на x86, также не удалось выполнить вызов «Открыть» , Но с другой распространенной ошибкой: HRESULT: 0x80010105 (RPC_E_SERVERFAULT), которая была опубликована многими другими разработчиками.

Затем я попробовал эту же программу на машине под управлением Windows 8 и скомпилировал ее в x86 с Office 2007, и она отлично работала.

Итак, на данный момент, я думаю, что это ошибка Microsoft Windows 7 с Microsoft.Office.Interop.Excel; поэтому я отказываюсь от попытки продолжить и переключись на dev на версию Windows, отличную от 7.

Любое понимание будет оценено.

ответ

2

Решение разрешить это исключение при вызове «Open» метод на приложения Excel, чтобы установить приложение Excel, чтобы быть видимым:

Dim XLApp As Application = New Application() 
XLApp.Visible = True 

Не спрашивайте меня, почему, потому что я не знаю , кто может просветить меня, пожалуйста, сделайте это.

+0

Очень странно. Это тоже сработало для меня ... Только недавно получил Office 2016 и пришлось использовать это исправление. – Alex

Смежные вопросы