You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Windows2019+Excel2021后C#调用VBA宏报错求助

Excel Interop执行VBA宏报错问题

我编写了一个使用Excel Interop库打开文件并执行VBA宏的C#程序,此前在Windows 2016+Excel 2016服务器环境中已稳定运行许久。将服务器升级至Windows 2019+Excel 2021后,运行相同程序和Excel文件时出现如下报错:

该宏可能在此服务中不可用,或者所有宏已被禁用。

我已按照以下相同步骤在新旧环境中启用所有宏,但问题仍未解决:

  1. 打开Microsoft Excel,点击「文件」>「选项」>「常规」,禁用「启动此应用时显示开始屏幕」
  2. 在Excel中点击「文件」>「选项」>「信任中心」>「信任中心设置」:
    • 进入「ActiveX 设置」页面,先选择「安全模式」,再选择「启用所有控件而不限制且不提示(不推荐;可能运行危险控件)」
    • 进入「宏设置」页面,选择「启用所有宏(不推荐;可能运行危险控件)」
    • 进入「受保护的视图」页面,取消勾选所有选项
    • 进入「隐私选项」页面,取消勾选隐私选项下的所有内容,以及文档特定设置中的「打印前发出警告」选项
  3. 关闭所有Microsoft Office应用程序
  4. 通过「控制面板」>「用户」禁用用户账户控制(UAC)
  5. 将管理员用户添加至「分布式COM用户」组:
    • 按下Win+R打开运行窗口,输入lusrmgr.msc并回车;点击「组」,右键「分布式COM用户」组选择「属性」,点击「添加」将目标管理员用户加入后点击「确定」
  6. 为Microsoft Office应用程序配置管理员用户:
    • 按下Win+R打开运行窗口,输入mmc -32并回车;点击「文件」>「添加/删除管理单元」>「组件服务」,点击「添加」后点击「确定」
    • 导航至「控制台根节点」>「组件服务」>「计算机」>「我的电脑」>「DCOM配置」
    • 右键「Microsoft Excel 应用程序」选择「属性」,切换至「标识」选项卡,选择「此用户」,浏览并选择启动文档转换服务的管理员用户,输入其凭据
    • 切换至「位置」选项卡,勾选「在此计算机上运行应用程序」

内容的提问来源于stack exchange,提问作者vittochan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:22:41