后台打开Excel报错&h800706BE,新用户异常旧用户正常如何解决?
问题描述
旧用户登录电脑时,以下VBA代码可正常运行;但新创建的用户登录时,代码在后台打开工作簿环节中断,报错信息如下:
System error &h800706BE (-2147023170). Remote procedure call failed.
若在打开工作簿前设置AppExcel.Visible=True,新用户可正常运行代码,旧用户则始终无异常。
涉及代码:
Private Sub UserForm_Initialize() Set AppExcel = New Excel.Application AppExcel.ScreenUpdating = False AppExcel.Workbooks.Open "Q:\Registro de Desenhos.xls", ReadOnly:=True End Sub
修复方案
1. 配置新用户的DCOM权限
该RPC错误多与后台Excel实例的组件服务权限有关,需为新用户补充权限:
- 按下
Win+R输入dcomcnfg打开组件服务 - 依次展开:组件服务 → 计算机 → 我的电脑 → DCOM配置
- 找到
Microsoft Excel Application,右键选择属性 - 在安全选项卡:
- 「启动和激活权限」选择自定义,点击编辑,添加新用户并授予本地启动、本地激活权限
- 「访问权限」选择自定义,点击编辑,添加新用户并授予本地访问权限
- 切换到标识选项卡,选择交互式用户,确定后重启电脑测试
2. 优化后台Excel实例初始化逻辑
新用户的Excel配置可能未完成初始化,可通过先显再隐的方式触发实例加载:
Private Sub UserForm_Initialize() Dim AppExcel As Excel.Application Set AppExcel = New Excel.Application ' 先触发实例初始化再隐藏 AppExcel.Visible = True AppExcel.WindowState = xlMinimized AppExcel.Visible = False AppExcel.ScreenUpdating = False ' 打开工作簿时添加参数避免交互 AppExcel.Workbooks.Open _ Filename:="Q:\Registro de Desenhos.xls", _ ReadOnly:=True, _ IgnoreReadOnlyRecommended:=True, _ Notify:=False End Sub
3. 验证新用户的共享文件夹权限
确认新用户对Q:\Registro de Desenhos.xls所在共享路径有足够权限:
- 右键目标文件,选择属性 → 安全选项卡
- 检查新用户是否已被添加,且拥有读取、读取及执行权限
- 注意共享权限与NTFS权限取严格值,需确保两者均满足读取要求
4. 重置新用户的Excel配置文件
新用户的Excel配置可能损坏,可尝试重置:
- 关闭所有Excel进程
- 按下
Win+R输入excel /safe启动安全模式,确认能正常打开目标文件 - 若安全模式正常,删除新用户下的Excel配置文件:
- 路径:
C:\Users\[新用户名]\AppData\Roaming\Microsoft\Excel - 删除
Excel16.xlb(对应Excel版本的配置文件),重启Excel后测试
- 路径:
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

