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

2024-07-04

用于打开现有 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)

上面的代码一直失败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 应用程序,在“打开”调用时都失败并出现相同的错误消息。

好的,我还在另一台 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 错误;所以,我放弃了进一步的尝试,转而使用 Windows 7 以外的版本进行开发。

任何见解将不胜感激。


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

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

不要问我为什么,因为我也不知道,请大家指点迷津。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打开 Excel 2016 文件失败,HRESULT:0x800706BE 的相关文章

  • 像 MS Excel 一样在 C++ 中舍入双精度值

    我在网上进行了搜索 但找不到解决我的问题的方法 我只是想要一个像 MS Excel 那样对双精度值进行舍入的函数 这是我的代码 include
  • 定义应保存 user.config 文件的自定义路径?

    如果我重命名我编译的应用程序 例如myapp exe to app exe然后 当我运行重命名的可执行文件时 会在此路径中生成新的用户设置文件夹 C Users User AppData Local CompanyName Executab
  • 无法在继承/子 Windows 窗体中进行更改 (Visual Basic)

    我有一个模板 Windows 窗体和一个继承该模板的子窗体 但我无法对孩子的设计师进行任何更改 我使用的是 Visual Studio 2015 社区版 Template vb Public Class Form1 Private isMo
  • 提取PDF文档的特定部分[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有多个 30 个 PDF 文件 每个包含 48 96 页 所有页面的布局都是相同的 只有其他内容 数字 图表 背景 这些页面是光纤电缆测
  • 如何在VBA中给单元格填充颜色?

    我想为当前工作表中具有 N A 值的单元格着色 为了做到这一点 我使用以下宏 Sub ColorCells Dim Data As Range Dim cell As Range Set currentsheet ActiveWorkboo
  • 变量值传递到另一个表单,VB.NET

    我确实有两个公共变量 每个变量都来自两种不同的形式 Form1 VB Public UserNo As String Form2 VB Public MyUserNo As String 在我的 Form2 VB 文件中 我为 Form1
  • ASP.NET MVC3 - VB 中的 If 语句

    In Fredrik 的博客文章 http weblogs asp net fredriknormen archive 2010 08 01 asp net mvc 3 0 preview 1 razor and nested master
  • 如何将引发的错误传递给 VBA 中的自定义错误处理程序?

    我在 Excel 中使用 VBA 一段时间了 并且对所有过程使用自定义错误处理程序 我第一次发现自己处于需要使用Err Raise 处理一个Case Else情况在一个Select Case块 我不知道如何将错误传递给自定义错误处理程序 V
  • 直观地比较两个图像

    我希望能够检查两个图像在一定阈值内是否看起来相同 这两张图像在肉眼看来是相同的 但其中一张的颜色略有不同 我尝试过以下示例 http www vb helper com howto net image compare threshold h
  • Excel 公式创建两个日期之间的年份范围

    我有两个输入值作为开始年和结束年 以 1997 年和 2001 年的输入为例 我正在尝试创建一个输出公式 该公式在输入的开始年份和结束年份之间创建一系列年份 并在 的每个值之间添加分隔符 因此 我想要的上述预期输出将是 1997 1998
  • 在vba中编写VLOOKUP函数

    我正在尝试使用 vba 代码中的 VLOOKUP 函数在表数组中的电子表格上查找值 我不知道如何正确地写它 这是包含所有引用的普通 VLOOKUP 公式 VLOOKUP DATA AN2 DATA AA9 AF20 5 FALSE 你有没有
  • 使用 Apache POI 刷新数据透视表

    我目前正在开发一个 Java 应用程序 该应用程序使用包含数据透视表的模板 excel 文件 模板文件还有一个数据表 用于为数据透视表提供种子 该数据表通过 Apache POI api 动态加载到 java 应用程序中 当我打开 Exce
  • Excel过滤公式用于数组中的多个条件和值

    我正在尝试从一个表中过滤一些信息 但我需要标准来查找数组内的一些信息 我将举一个例子来尝试解释我需要什么 我需要让每个人都从Array1 E2 E4列于TABLE1 A2 C4并且有Monday and Yes在各自的列上 希望这是有道理的
  • C# 中的 MyClass 等效项

    在看着这个问题 https stackoverflow com questions 6830825 shared class field in visual basic 评论者 Jon Egerton 提到MyClass是一个关键字VB N
  • 如何跨项目重用核心 VBA 函数 (UDF),但不在单元格插入函数中显示它们

    我有一个带有 核心 功能和子功能的插件 我想在不同的插件或 VBA 项目中引用和使用它们 因为代码复用和单一更新原则 例如 一个函数 根据条件过滤集合成员并返回子集合 代码本身不是这里的问题 Public Function listName
  • 使用变量命名数组

    是否可以使用不同的变量来命名数组变量 例如 如果我将变量 i 定义为一个整数 其值等于我在工作表中使用的列数 Sub varNameTest Dim i j As Integer i ActiveSheet UsedRange Column
  • Excel VBA - 选择不按顺序排列的多列

    我想选择multiple列 例如 我想要select column a b d e g h 我试过了 Columns A B D E G H select I get error信息 Type mismatch Range A B D E
  • Vb.Net动作委托问题?

    我是 vb net 新手 这个问题可能很新手 之前已经回答过 但我找不到 我正在尝试 lambda 功能并在这里受到打击 Private Function HigerOrderTest highFunction as Func Of Int
  • VB Clear Scripting.Dictionary 对象

    我正在写一个Excel宏 并且我在清除时遇到问题Scripting Dictionary 对象 Dim test As Integer test CompListDict Count CompListDict RemoveAll Set C
  • 使用正则表达式替换换行符

    如何使用正则表达式替换所有类型的换行符 CR LF 和 CrLf 我尝试过 n 和 r 的不同组合 但没有找到全部 formatedString System Text RegularExpressions Regex Replace te

随机推荐