关于Office的COM加载项

注册插件

Word采用记录注册表方式注册插件,注册表位置如下:HKEY_CURRENT_USER\Software\Microsoft\Office\Word\AddInsHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\Addins.

如果插件是对当前用户有效就用前者,如果对所有用户生效就用后者。如果是64位系统中安装的32位Word,那注册表路径相应改为HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Office\Word\AddInsHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\Word\Addins.

在上述注册表位置下,每一个插件为一个子项,插件类的ProgID为子项的名称,如下图:

图01

其中,“WordClient7.WordAddin”是插件的控件类名,常用的有以下几个键值:

  • Description:插件的简短描述。
  • FriendlyName:是在“COM加载项”对话框中显示的插件名称。
  • LoadBehavior:插件的加载方式,它由以下几个值组合而成: 0表示不加载、1表示加载、2表示程序启动时采取动作、8表示需要时采取动作、16表示首次连接时采取动作。所以一般设置为3,表示Word启动时加载。
  • CommandLineSafe:标识插件是不是命令行安全的,一般设置成0.

按照上述方式设置注册表值后,插件就可以集成在Word中使用了。我们可以在Word的COM加载项窗口中管理这些插件,如下图。

图02

Excel、WPS也采用类似的插件注册方式。其中,高版本的WPS文字甚至可以直接使用Word的插件注册信息,作为其自身的插件。大家可以自行研究。

禁止Excel的COM加载项

图03

如上图将注册表中有关LoadBehavior值设置为0即可。设置后效果如下

图04

作者: Hugh

Welcome to Wan's world~