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

如何通过脚本将.xll插件永久添加到Excel的可用加载项列表中

XLL插件永久添加到Excel加载项的解决方案

问题原因

你之前使用的RegisterXLL方法仅对当前运行的Excel实例临时生效,不会写入持久化配置,因此重启Excel后加载项就会消失,也不会出现在加载项列表中。要实现永久留存,需要通过Excel的AddIns集合操作或者修改注册表实现。

方案1:通过Excel COM对象的AddIns集合实现(推荐)

该方法无需手动修改注册表,兼容性更好,默认仅对当前用户生效。

PowerShell 实现代码

$excel = New-Object -ComObject Excel.Application
$xllPath = "C:\temp\v-0.0.1-20210906\LS-ZmqRtd-AddIn64.xll"
# 第二个参数设为$false表示不将xll复制到系统默认加载项目录,如需复制可改为$true
$addin = $excel.AddIns.Add($xllPath, $false)
# 设置为已安装状态,这一步会写入配置实现持久化
$addin.Installed = $true
# 退出Excel并释放COM对象避免进程残留
$excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
Remove-Variable excel

Python 实现代码

import win32com.client
import pythoncom

# 初始化COM环境
pythoncom.CoInitialize()
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
xll_path = "C:/Users/michael.k/Desktop/v-0.0.1-20210906/LS-ZmqRtd-AddIn64.xll"
addin = xl.AddIns.Add(xll_path, False)
addin.Installed = True
# 退出释放资源
xl.Quit()
pythoncom.CoUninitialize()

方案2:直接修改注册表实现(适合批量部署)

如果需要批量部署,可以直接修改对应注册表项实现,路径如下:

  • 仅当前用户生效:HKEY_CURRENT_USER\Software\Microsoft\Office\<Excel版本号>\Excel\Addins\<自定义加载项名称>
  • 所有用户生效:HKEY_LOCAL_MACHINE\Software\Microsoft\Office\<Excel版本号>\Excel\Addins\<自定义加载项名称>
    需要添加以下4个键值:
  • FriendlyName(字符串值):加载项在Excel中显示的名称
  • Description(字符串值):加载项描述信息
  • LoadBehavior(DWORD值):设为3,代表Excel启动时自动加载该插件
  • Manifest(字符串值):填写XLL文件的完整本地路径,结尾加|vstolocal,示例:C:\LS-ZmqRtd-AddIn64.xll|vstolocal

注意:Excel版本号对应规则:2010=14.0,2013=15.0,2016/2019/365/2021=16.0,修改LOCAL_MACHINE路径需要管理员权限。

注意事项

  • 运行脚本前请关闭所有已打开的Excel进程,否则配置可能无法写入
  • 32位Excel必须使用32位XLL文件,64位Excel必须使用64位XLL文件,否则会加载失败
  • 如需为所有用户安装,需要以管理员权限运行脚本/修改注册表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:18:03