如何使用VBA启用/添加和禁用/删除Excel加载项?

时间:2014-11-07 21:44:52

标签: vba excel-vba excel

类似于if addin exists then do nothing else add_addin("AddinName")

我有几个加载项,启用后会首先弹出一条消息。因此,如果我在excel自动打开它们,它会变得非常烦人。如果我可以分配一些VBA代码来执行启用并为代码添加一个快速访问按钮,那么它就更容易管理,我只需要根据需要启用它们。

1 个答案:

答案 0 :(得分:2)

NathaneilCapital,因为你没有任何代码,我将为你解释这个程序。

添加新的加载项并将其安装(使其显示在功能区上)非常简单。

添加加载项:

使用FileCopy命令将xlam文件复制到库文件夹。您可以像这样轻松地获取应该复制文件TO的地址:

sAddInPathTo = Application.UserLibraryPath

sToFullName = sAddInPathTo & "\" & "MyAddInName.xlam"

FileCopy sFromFullName, sToFullName

此时如果你去Developer / Add-Ins,你会看到addIn的名称,但是没有选中它旁边的复选框,这意味着它没有启用/安装。为此,您可以使用:

AddIns("MyAddInName").Installed=True

在此行之后,您的加载项应作为新标签显示在Excel功能区上。

要卸载加载项,您可以这样做:

AddIns("MyAddInName").Installed=False

如果您要手动执行此操作,则应打开AddInInstallerManager(开发人员/加载项)并取消选中您的加载项。

但是,将其从AddInInstallerManager中的Add-Ins列表中删除会更复杂。首先,您应该从库地址中删除xlam文件,只需使用:

即可完成

Kill sToFullName

请务必先卸载,否则Windows将无法删除该文件。

其次,最困难的部分是清理注册表。事实上,在上面提到的行之后,你会在AddInInstallerManager中看到加载项名称,但是当你浏览时,你不会看到那里的xlam文件,这有点不一致。因为AddInInstallerManager从ini文件中列出这些加载项。实际上,如果你达到这一点,它仍然很好,如果Excel发现它,它将刷新ini文件,你应该是好的,但要手动执行,你可以打开AddInInstallerManager,当你点击加载项的名称,它将为您抛出错误,然后它将从列表中删除它。您可以这样做,但使用发送键来模拟它或只是修改注册表。有关更多信息,请参阅此处:

http://www.jkp-ads.com/articles/addinsandsetupfactory.asp