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

问题描述 投票:0回答:1

if addin exists then do nothing else add_addin("AddinName")之类的东西。

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

vba excel-vba excel
1个回答
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中的“加载项”列表中删除会更复杂。首先,您应该从库地址中删除xlam文件,这可以通过以下方式完成:

Kill sToFullName

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.