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

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

远程过程调用失败。 (从HRESULTexception:0x800706BE)

我已经search堆栈溢出和微软网站的这个错误,它看起来像没有人有一个确定的答案。 但是有一点是一致的,似乎都是在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") ”来创buildExcel应用程序,呼叫。

好的,我也在不同的Windows 7 Professional 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应用程序上调用“打开”方法解决此exception的解决scheme是将Excel应用程序设置为可见:

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

不要问我为什么,因为我不知道,谁能开导我,请这样做。