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

For*_*ent 3 vb.net excel 64-bit hresult

用于打开现有 Excel 文件的简单 VB.NET 代码在打开命令时始终失败,并出现以下错误:

远程过程调用失败。(来自 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)
Run Code Online (Sandbox Code Playgroud)

上面的代码在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
Run Code Online (Sandbox Code Playgroud)

此外,我尝试将 Excel 文件放在我的 C:\Users 个人文件夹中,还尝试使用“ CreateObject("Excel.Application")”创建 Excel 应用程序,但在“打开”调用时都失败并显示相同的错误消息。

好的,我也在不同的 Windows 7 Professional 64 位计算机上尝试了相同的程序,使用 MS Office 2007(因此,Microsoft Excel 12.0 对象库等)编译为 x86,它在“打开”调用时也失败了。但是还有另一个常见错误:HRESULT: 0x80010105 (RPC_E_SERVERFAULT),已被许多其他开发人员发布。

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

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

任何见解将不胜感激。

For*_*ent 5

在 Excel 应用程序上调用“打开”方法时解决此异常的解决方案是将 Excel 应用程序设置为可见:

Dim XLApp As Application = New Application()
XLApp.Visible = True
Run Code Online (Sandbox Code Playgroud)

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