打开Excel 2016文件失败,HRESULT:0x800706BE

问题描述:

简单的VB.NET代码开放现有的Excel文件始终与下面的错误失败的打开命令:打开Excel 2016文件失败,HRESULT:0x800706BE

的远程过程调用失败。 (从HRESULT异常:0x800706BE)

我已经搜索堆栈溢出和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:\用户个人文件夹,还试图用“CreateObject("Excel.Application")”创建Excel应用程序,所有的失败,在相同的错误消息“打开”呼叫。

好吧,我也试过在不同的Windows 7专业版64位计算机上使用MS Office 2007(因此,Microsoft Excel 12.0 Object Library等)编译为x86,但在“打开” 。但是另一个常见错误是:HRESULT: 0x80010105 (RPC_E_SERVERFAULT),这已被许多其他开发者发布。

然后,我在Windows 8机器上试用了这个相同的程序,并使用Office 2007编译为x86,并且它工作得很好。

因此,在这一点上,我认为这是Microsoft.Office.Interop.Excel的Microsoft Windows 7错误;所以,我放弃尝试进一步并切换到除7以外的Windows版本的开发。

任何洞察力将不胜感激。

在调用“打开”方法上的Excel应用程序来解决这个异常的解决方案是设置Excel应用程序可见:

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

不要问我为什么,因为我不知道,任何能够启发我的人,请这样做。

+0

很奇怪。这也适用于我...只有最近得到Office 2016,必须使用此修复程序。 – Alex