打开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
不要问我为什么,因为我不知道,任何能够启发我的人,请这样做。
很奇怪。这也适用于我...只有最近得到Office 2016,必须使用此修复程序。 – Alex