如何通过注册表启用Excel自动化添加程序?

4
我有一个Excel自动化插件,它通过我的安装程序在COM中进行了注册。通过在COM中注册,我的插件出现在(对于Excel 2007)“Excel选项”>“加载项”>“管理Excel加载项”>“自动化”列表中。用户仍然必须导航到上述对话框并选择我的插件才能启用它。
在类型已经注册到COM之后,是否可能(通过注册表键或其他方式)在我的安装程序类(或VBA中)以编程方式启用我的自动化插件?
提前感谢 - Frank
1个回答

7
我尚未具体实践过,但我参考的资料对您的问题有如下解答:
自动化加载项的加载方式与普通的.xla加载项相同,但需要使用ProgID代替文件名。示例代码如下:
Sub installAutomationAddIn()
    AddIns.Add Filename:="Excel2007ProgRef.Simple"
    AddIns("Excel2007ProgRef.Simple").Installed = True
End Sub

如果您正在为Add-In创建安装程序,您可能希望直接写入注册表以将Automation Add-In设置为已安装。要这样做,您需要创建以下注册表项(如果您使用了上面的代码,则该项已经存在)。
(In the Registry Key:)
HKEY_CURRENT_USER\SOftware\Microsoft\Office\12.0\Excel\Options

(Create the string value:)
Name = the first unused item in the series: Open, Open1, Open2, etc.
Value = /A "Excel2007ProgRef.Simple"

这看起来非常有前途。我会尝试一下并回报结果。谢谢。 - Frank
我在VBA方面没有任何运气,但注册表键正是我所需要的。谢谢! - Frank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接