2012-11-30 31 views
0

我的Excel插件是用C#编写的,但安装程序通过VBA宏调用Excel。我想摆脱VBA。在Excel加载项安装程序中将VBA调用转换为C#

我想知道下面的VBA对注册表有什么作用。从我所看到的,它在HKCU\Software\Microsoft\Office\14.0\Excel\Options中增加了一个值。是吗?

Dim MyXLL As AddIn 
Set MyXLL = Application.AddIns.Add(addinFile) 
If (Not MyXLL Is Nothing) Then 
    MyXLL.Installed = True 
Else 
    MsgBox "Failed to add XLL" 
End If 

回答

0

使用来自VBA或自动化/互操作的Addins方法可能是最简单的方法,但难以处理安装在PC上的多个Excel版本的情况。
一个更全面的解决方案包括为每个要安装的Excel版本编写一个安装脚本,用于编写OPENn密钥(其中n大于最高当前OPENn密钥),并在卸载脚本中反转这些操作(您还需要重写其他OPENn键高于XLL的OPENn键)。
您可以在这里找到使用LUA for Setup Factory的示例脚本http://www.jkp-ads.com/articles/AddinsAndSetupFactory.asp