Office的所有COM 加载项,包括用Shared加载项模板和VSTO加载项模板创建的,都会在注册表里面存储一些信息。
对于当前用户安装的加载项(插件),以Excel为例,对应的注册表键值存储于:My Computer/HKCU/Software/Microsoft/Office/Addins/AddInName;
  机器级别的Add In存储于:My Computer/HKLM/Software/Microsoft/Office/Addins/AddInName。
  普通的Shared Add In, 键下面有3个值,Description,FriendlyName,LoadBehavior。
  VSTO加载项多出两个键值:CommandLineSafe和Manifest。Manifest是用来指向自定义代码所处的dll位置的,CommandLineSafe用来指示Add In是不是命令行安全的,会不会显示在COM Add In Dialog里面。Description和FriendlyName就是加载项的描述和显示的名字。

0   = Disconnect不装载
1   = Connected装载
2   = Bootload启动程序时装载
8   = DemandLoad需要时装载
16 = ConnectFirstTime第一次启动时装载

  也就是说,当LoadBehavior为0,2,8,16的时候,加载项不装载;当其为1+2=3的时候,装载并且每次Office程序启动时都装载;当其为9的时候,装载,但只当用户需要时装载;17的时候,装载,只有第一次启动的时候装载。如果我们不去改动,一般而言,正常工作的Add In其LoadBehavior是3,但如果当加载项启动的时候发生异常,这个加载项会被软禁用,LoadBehavior的值会被改为0+2=2,Add In将不被装载。注意,虽然这里的值是2,表示启动时装载,但事实上,其是由0+2所得,大的前提决定了不装载。

  被软禁用的加载项会出现在COM 加载项对话框中,只不过前面的Checkbox不会被勾上。被硬禁用的加载项虽然也会出现在COM 加载项对话框中,但它们会被单独再列到另外一个叫“禁用项目”的对话框里面。下面是COM Add-Ins对话框和Disabled Items对话框的截图。由下面的图可以看出来ExcelAddIn和ExcelAddIn1是被用户手动禁用,或者被软禁用的;ExcelAddIn2则是被硬禁用的。

  “COM加载项”和“禁用项目”对话框在
  文件->选项-加载项-管理中选择“COM加载项”点转到,可以跳转到加载项;选择“禁用项目”,点转到可以跳转到禁用项目。

最后修改:2025 年 09 月 02 日
如果觉得我的文章对你有用,可以点一下赞赏