Windows 7 .net Excel .SaveAs() HRESULT 错误异常:0x800A03EC

2024-04-05

背景:
我在工作中为我的旧硬盘干杯,现在正在买一个新硬盘。这样我就必须重建我的机器。我的经理在他借用的笔记本电脑上安装了 Windows 7,在我的机器无法使用时我一直在使用这台笔记本电脑。但我遇到了一个问题。

我们有相当多的应用程序使用 Microsoft.Office.Interop.Excel 参考。到目前为止,我已经克服了一些错误,但最近几天我一直遇到的错误(我的机器在第一次重建后实际上遇到了硬盘驱动器故障)并且无法找到修复方法。我已经搜索过此错误,但找不到任何人在 Windows 7 上遇到此问题,尽管我尝试了 Windows Server 2008 的其他修复程序但无济于事。

如果我不能解决这个问题,我将无法使用 Windows 7,并且想知道在我重建机器之前只需擦除它并重新启动(第三次)。

Problem:
操作系统:Windows 7 企业版
错误消息:HRESULT 异常:0x800A03EC
Code:

Private m_xls As Microsoft.Office.Interop.Excel.Application
Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook
Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet
m_xls = New Application
m_xls.Visible = False : m_xls.DisplayAlerts = False
m_wkbk = m_xls.Workbooks.Open(Me.FilePath)
m_wksht = CType(m_wkbk.ActiveSheet, Worksheet)
'...Write some data...'
m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, False, False, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value)

错误发生在最后一行。

到目前为止我尝试过的:

  1. 更改应用程序池以使用 NetworkService 帐户(原为 我的“ApplicationPoolIdentity” 在用户列表中找不到 安全设定)。然后给出 NetworkService 帐户完全访问权限 到适当的文件夹。
  2. 授予 NetworkService 访问 DCOMCNFG 中所有“Microsoft Excel 应用程序”设置的权限
  3. 运行此命令“appcmd set config -section:asp -enableParentPaths:true”,因为这是我能找到的唯一其他东西
  4. 使用 .SaveCopyAs() 有效但导致了不同的错误

我只是想看看其他人是否也遇到过这个问题,因为 Windows 7 是新的。我可以选择 Server 2008,但在我告诉我的经理这不起作用之前,我希望能有一些可靠的理由。

谢谢你, 杰夫


注意:这需要稍微精简一下,因为它是我在内部 wiki 上所做的所有修复的汇编,但我不确定哪些更改子集使它起作用,所以我将全部包含在内。

解决方案:

以下更改可能是解决此问题的超集。

-运行 DCOMCNFG.exe 并导航至“组件服务>计算机>我的电脑”。
- 右键单击​​“我的电脑”,然后单击“属性”。
- 打开“COM 安全”选项卡。为列出的每个按钮添加您的帐户(“访问权限”和“启动和激活权限”下的“编辑限制...”和“编辑默认...”按钮)。为您的帐户提供所有访问选项。单击“应用”,然后单击“确定”。
- 仍在 DCOMCNFG 中,展开“我的电脑”链接并打开“DCOM Config”文件夹。
- 右键单击​​“Microsoft Excel 应用程序”并选择“属性”。
- 在“安全”选项卡下,选择“启动和激活权限”和“配置权限”的“自定义”选项。对于两者,请单击“编辑...”按钮。让您的帐户访问所有内容。
- 仍在“Microsoft Excel 应用程序”的“属性”中,转到“身份”选项卡。
- 选择“交互式用户”选项。
- 单击“应用”,然后单击“确定”。
-重启你的电脑。

- 尝试以下方法DCOMCNFG&ApplicationPoolIdentity 更改。

- 以管理员身份运行命令提示符。
-导航到 c:\Windows\System32\inetsrv> 并运行“appcmd set config -section:asp -enableParentPaths:true”

或者,您可以使用 .SaveCopyAs(),尽管这可能仍然无法解决问题并且需要更改代码。

DCOMCNFG 对于 Windows 7:

此错误发生在“Excel app = New Application();”上来电

此链接详细介绍了如何修复 XP/Server 2003 的问题,但也可以适用于 Windows 7:http://blog.crowe.co.nz/archive/2006/03/02/589.aspx http://blog.crowe.co.nz/archive/2006/03/02/589.aspx

我没有/无法找到“ASPNET”帐户。您必须检查应用程序池以了解应用程序的运行方式。
为此,请进入“计算机管理>服务和应用程序>Internet信息服务>应用程序池”
右键单击相应的应用程序池并选择“高级设置”。在“流程模型>身份”下,您可以找到它正在运行的帐户。我的是“ApplicationPoolIdentity”,但我也找不到,所以我将其更改为“Network Service”,就像 Windows Server 2003 一样。
设置完成后,运行 DCOMCNFG.exe。导航至“组件服务>计算机>我的电脑>DCOM 配置”。
找到并右键单击“Microsoft Excel 应用程序”,然后选择“属性”。 选择“安全”选项卡。在“启动和激活权限”下选择“自定义”,然后单击“编辑”。
然后单击“添加...”按钮。
输入适当帐户的名称,在本例中为“网络服务”,然后单击“检查名称”。然后单击“确定”。
返回“启动和激活权限”页面,突出显示“网络服务”帐户,然后选中“本地启动”和“本地激活”复选框。然后单击“确定”。

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

Windows 7 .net Excel .SaveAs() HRESULT 错误异常:0x800A03EC 的相关文章

随机推荐

  • 关于 WCF 通道的困惑

    我对代理和通道感到困惑 根据我的阅读 WCF 客户端使用代理通过一系列通道传递消息 每个通道负责特定的任务 例如一个通道对消息进行编码 另一个通道对其进行加密 当我看到下面的代码时 我的困惑开始了 When proxy MyMethod 叫
  • C++ 异常处理增加了多少占用空间

    这个问题对于嵌入式开发尤其重要 异常处理为生成的二进制输出增加了一些占用空间 另一方面 毫无例外 错误都需要以其他方式处理 这需要额外的代码 最终也会增加二进制大小 我对你的经历很感兴趣 尤其是 您的编译器为异常处理添加的平均占用空间是多少
  • php 中 mysql 的程序实现和面向对象实现有何区别? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Automapper、MapFrom 和 EF 动态代理

    我一直在尝试将域对象映射到报表视图模型 在测试中一切都很顺利 我伪造了实体框架代码并使用构建器返回完全填充的 pocco 对象 现在我实际上正在访问数据库并返回数据 我看到一些奇怪的动态代理类型错误 这是我的代码示例 public clas
  • Android 可用的 mime 类型?

    经过多次在线搜索 我找不到一个地方可以告诉我 Android 应用程序中不同类型媒体的每种现有 MIME 类型 以下是我所知道的存在且有效的 For Text text plain For Image image jpeg image bm
  • 为什么在asp.net mvc中会话超时后jquery ajax调用失败?

    当我的会话变量中有一个值时 我的ajax调用可以正常工作 但是当会话超时时 它似乎无法返回空的json结果 public JsonResult GetClients int currentPage int pageSize if Sessi
  • Java 编译器用 + 连接替换 StringBuilder

    下面是一些简单的 Java 代码 String s new StringBuilder append a append b append c toString 我使用 JRE 1 6 对其进行编译 并在反编译的类文件中观察到以下内容 Str
  • Woocommerce - 如何删除产品列表上的“添加到购物车”按钮

    我想删除产品列表页面上的 添加到购物车 按钮 我希望它出现的唯一地方是单个产品页面 谁能建议我在哪里可以找到删除它 我无法从文档中获得任何帮助 目前该按钮出现在每个列表下方 我不知道如何从 WooCommerce 执行此操作 但使用以下代码
  • 运算符优先级和三元运算符

    我在 C 中遇到了问题 include
  • 循环内的递归函数

    我一直在研究递归函数 并且开始或多或少地理解它们 当我遇到这个问题时 我正在参加一个免费的代码训练营挑战 但我不明白它 for 循环内的递归函数 function steamroller arr var newArr for var i 0
  • Python - HTML - 发送带有 CSS 样式的 HTML 表

    我正在尝试发送一封以表格为主体并带有一些 CSS 配置的电子邮件 为此 我有以下代码 import csv from tabulate import tabulate from email mime multipart import MIM
  • xampp 控制面板中禁用了 apache 和 mysql 启动按钮

    当我安装 xampp 时 它工作正常 但是一旦重新启动 关闭后 就会出现此错误 Apache Problem detected Apache not found Apache Disbling apache buttons Apache R
  • Unity3D - 将自定义标头添加到 WWWForm

    这是我运行的 C 代码 WWWForm formData new WWWForm Adding formData headers Add Authorization Basic System Convert ToBase64String E
  • 如何将参数从一个项目传递到另一个项目?

    截至所附屏幕截图 我有 4 个 Rest API 项目 我需要将生成的用户 ID 从项目 1 1 管理基础知识和获取 API 传递到其他项目 2 课程和课程 我正在使用测试运行程序运行每个项目 全局财产转移在这种情况下不起作用 有人可以帮我
  • jQuery ajax 和 SSL?

    在我们的网站中 某些页面使用 SSL 但大多数页面没有 因为它们需要由网络机器人抓取 它几乎可以归结为用户登录的任何页面 除了少数例外是在 SSL 下 但用户首先必须从非 https 页面登录 登录表单是从任何页面屏幕顶部掉落的表单 So
  • 如何将materialButton图标设置到中心

    我在用supportLibrary 28 0 0 beta01 版本 这是我在 xml 文件中的代码
  • Vim 折叠:如何隐藏所有不包含搜索模式的单行(或折叠零行)?

    我有一些文本文件 它们只是没有段落的列表 当我想专注于某个项目时 我可以折叠除搜索匹配项之外的所有内容 这要归功于 Vim Wikia 提示 282 简单折叠 set foldexpr getline v lnum nnoremap
  • Web 声卡检测

    我们需要一些关于业余爱好网络项目的提示 在此阶段 我们要检测客户端的声卡并将来自声卡的任何内容引导到服务器以处理音频 低延迟对我们来说是一个重要问题 因此 我们需要您对使用的语言 库等的建议 如果你能给我们一些大局的信息 那么我们就可以自己
  • git 报告合并冲突,没有任何更改,空行(使用 git-subtree)

    我正在测试使用git 子树 https github com apenwarr git subtree将库存储库合并到更大的项目中 原则上看起来很棒 有时 当我执行 git subtree pull 时 我会遇到如下合并冲突 lt lt l
  • Windows 7 .net Excel .SaveAs() HRESULT 错误异常:0x800A03EC

    背景 我在工作中为我的旧硬盘干杯 现在正在买一个新硬盘 这样我就必须重建我的机器 我的经理在他借用的笔记本电脑上安装了 Windows 7 在我的机器无法使用时我一直在使用这台笔记本电脑 但我遇到了一个问题 我们有相当多的应用程序使用 Mi