取消勾选Trust access to the VBA project object model后Add-In的refEdit控件失效如何修复?
解决Excel加载项中RefEdit控件无法显示及代码编译失败问题
核心原因
取消“信任对VBA项目对象模型的访问”后,Excel的控件注册信息或加载项缓存可能被损坏,即使恢复设置也无法自动修复这些残留问题。
分步解决方法(无需修改代码)
修复RefEdit控件注册
- 彻底关闭所有Excel实例(任务管理器里确认
EXCEL.EXE进程全部结束) - 右键点击开始菜单,选择「Windows终端(管理员)」或「命令提示符(管理员)」
- 执行以下命令(根据你的Office版本调整路径,Office 2016/365对应
Office16,2013是Office15):regsvr32.exe "C:\Program Files\Microsoft Office\root\Office16\MSCOMCTL.ocx" regsvr32.exe "C:\Program Files\Microsoft Office\root\Office16\REFEDIT.DLL" - 命令执行成功后重启电脑
- 彻底关闭所有Excel实例(任务管理器里确认
清除控件缓存文件
- 确保所有Excel进程已关闭
- 打开文件资源管理器,在地址栏输入
%APPDATA%\Microsoft\AddIns,删除与你的加载项相关的临时缓存文件(如.tmp或.exd后缀) - 再输入
%LOCALAPPDATA%\Temp\VBE,删除该文件夹内所有.exd文件(这些是控件的缓存文件,删除后会自动重建) - 重新打开Excel并加载你的加载项
重置信任中心设置
- 打开Excel,点击「文件」>「选项」>「信任中心」>「信任中心设置」
- 点击「重置所有信任中心设置」,确认后重启Excel
- 再次进入信任中心,重新勾选「信任对VBA项目对象模型的访问」,保存设置
检查并修复VBA引用
- 打开Excel后按
Alt+F11进入VBA编辑器 - 点击菜单栏「工具」>「引用」
- 查看列表中是否有标注「丢失」的引用(比如
Microsoft RefEdit Control) - 若有,先取消勾选该丢失项,然后点击「浏览」,找到路径
C:\Program Files\Microsoft Office\root\Office16\REFEDIT.DLL(对应你的Office版本)并选中,重新勾选该引用 - 保存加载项,关闭并重启Excel
- 打开Excel后按
内容的提问来源于stack exchange,提问作者77Vetter
相关产品推荐
相关产品推荐

