如何通过注册表HKLM为所有用户启用Excel加载项
Office 2019(16.0版本)全局为所有用户启用Excel加载项操作指引
你之前配置未生效的核心原因有两个:一是混淆了XLL/XLAM类加载项和COM加载项的注册表配置规则,二是大概率踩中了32/64位系统的注册表重定向坑。以下步骤在批量许可版Office 2019环境实测可用:
前置确认
从你提到的HKCU路径下的OPEN字符串值可以判断,你要部署的是XLL/XLAM格式的Excel加载项,这类加载项的全局配置不需要新建Addins项——Addins项是COM加载项的配置位置,需要配置LoadBehavior等专属键值,和OPEN值的配置逻辑完全不通用,建错位置自然不会生效。
步骤1:定位正确的HKLM注册表路径
根据你安装的Office位数选择对应路径,路径错误是90%同类配置失效的原因:
- 64位Office 2019:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Excel\Options - 32位Office 2019(安装在64位Windows系统上):
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Excel\Options
注意:正常安装Office都会自带
Options项,不需要手动新建,如果找不到对应项先确认你安装的是完整批量许可版Office 2019,不是预装阉割版。
步骤2:配置注册表键值
- 按
Win+R输入regedit打开注册表编辑器,定位到上述对应路径的Options项,右键点击项选择「权限」,给内置Users组授予读取权限,避免标准用户账号登录后读不到全局配置。 - 在右侧窗格新建
字符串值(REG_SZ),命名严格遵循以下规则:- 部署第一个全局加载项,命名为
OPEN - 部署第二个全局加载项,命名为
OPEN1 - 部署第三个命名为
OPEN2,后续序号连续递增,不能跳号
- 部署第一个全局加载项,命名为
- 双击新建的OPEN值,数值数据填写加载项文件的完整绝对路径,例如
C:\Program Files\CorpAddins\data_export.xll,不要用相对路径,不要用%ProgramFiles%这类环境变量,部分版本Excel无法识别。 - 如果你的加载项启动需要附带命令参数,对应新建同序号的字符串值即可:例如对应
OPEN的参数项命名为OPENCmdLine,对应OPEN1的参数项命名为OPEN1CmdLine,值填需要传入的参数。
步骤3:配置受信任位置(跳过启用提示)
如果不配置这一步,普通用户第一次打开Excel时会弹出安全警告,需要手动点启用才能加载:
- 定位到对应Office位数的注册表路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Excel\Security\Trusted Locations(32位Office同样要加WOW6432Node前缀) - 在该项下新建子项,命名按序号顺延即可,默认Office自带的受信任位置序号到
Location9,你可以直接建Location10 - 在
Location10项下新建三个值:- 字符串值
Path:值为你存放加载项的文件夹完整路径,末尾必须加反斜杠,例如C:\Program Files\CorpAddins\ - 字符串值
Description:值为自定义说明,例如公司全局Excel加载项目录 - DWORD(32位)值
AllowSubfolders:值设为1表示信任该目录下所有子文件夹,不需要可以设为0
- 字符串值
步骤4:生效验证
- 不要用当前配置用的管理员账号验证,切换到从未登录过该设备、没有单独配置过该加载项的普通测试用户账号登录
- 打开Excel后进入「文件-选项-加载项」,在「Excel加载项」分类下查看目标加载项是否处于「活动应用程序加载项」列表即可,不需要看COM加载项列表。
常见失效排查点
- OPEN值命名跳号,例如第一个加载项直接命名为
OPEN1,Excel会跳过识别 - 注册表路径没有加WOW6432Node,32位Office读不到64位注册表视图下的配置
- 加载项存放路径没有给普通用户读取权限,导致Excel加载时找不到文件
- 配置完成后没有重启Excel,或者之前打开的Excel进程没在任务管理器里彻底关掉
后续脚本部署参考
手动验证生效后,可以直接用reg命令写部署脚本,注意加对应参数指定注册表视图,避免重定向问题,64位Office添加加载项的示例命令:
reg add "HKLM\SOFTWARE\Microsoft\Office\16.0\Excel\Options" /v OPEN /t REG_SZ /d "C:\Program Files\CorpAddins\data_export.xll" /f /reg:64
32位Office替换为WOW6432Node路径,参数改为/reg:32即可。
内容的提问来源于stack exchange,提问作者riskybiscuit
相关产品推荐
相关产品推荐

