类似于if addin exists then do nothing else add_addin("AddinName")
。
我有几个加载项,启用后会首先弹出一条消息。因此,如果我在excel自动打开它们,它会变得非常烦人。如果我可以分配一些VBA代码来执行启用并为代码添加一个快速访问按钮,那么它就更容易管理,我只需要根据需要启用它们。
答案 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,当你点击加载项的名称,它将为您抛出错误,然后它将从列表中删除它。您可以这样做,但使用发送键来模拟它或只是修改注册表。有关更多信息,请参阅此处: