2011-06-10 129 views
4

我有一个由我的安装程序向COM注册的Excel自动化插件。通过在COM中注册,我的加载项出现在(对于Excel 2007)Excel Options> Add-Ins> Manage Excel Add-Ins Go ...> Automation列表中。用户仍然必须导航到上面的对话框并选择我的加载项才能启用它。如何通过注册表启用Excel自动化加载项?

是否有可能(通过一个注册表项)启用我的自动机插件程序在我的安装程序类(或在VBA)在类型注册COM后?

在此先感谢 - 弗兰克

回答

7

香港专业教育学院没有做过的部份特别,但我用是这样说的关于你的问题的引用:

自动化加载项加载的方法一样正常.xla插件,但使用ProgID而不是文件名,如下面的代码:

Sub installAutomationAddIn() 
    AddIns.Add Filename:="Excel2007ProgRef.Simple" 
    AddIns("Excel2007ProgRef.Simple").Installed = True 
End Sub 

如果要为加载项创建安装例程,则可能需要直接写入注册表以便将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" 
+0

这看起来很有希望。我会试一试并回报。谢谢。 – Frank 2011-06-12 16:47:02

+0

我对VBA没有任何好运,但注册表键正是我所需要的。谢谢! – Frank 2011-06-13 15:56:46

+0

很高兴看到它的工作......我想我会保留这本书;) – 2011-06-13 17:53:53