【发布时间】:2014-01-10 17:06:44
【问题描述】:
Sub Install_Addin()
Dim AI as excel.addin
Set AI = Application.Addins.Add("C:\Add_In.xlam")
AI.Installed = True
Application.Addins("Add_in").Installed = True
End Sub
以上是我从 Chip Pearson 获得的用于安装 Excel 插件的代码。这段代码第一次运行良好。我的加载项有一个控制按钮(我在编写加载项时修改了 xml),因此,安装加载项时(使用上面的代码)一个按钮会自动出现在我的 excel 功能区上,然后我可以使用我的加载项。
问题是当我尝试重新安装我的加载项时。当我更新插件的代码并尝试使用上述代码重新安装时,我收到此错误----
runtime error '1004'
Unable to copy add-in to library
发生这种情况是因为插件在重新安装之前未正确卸载。我已经放弃在网上搜索使用 VBA 代码卸载加载项的方法。我找不到任何简单的解决方案。
目前,卸载我的加载项的唯一方法是手动进行。首先,我从 Microsoft Add ins 文件夹中删除加载项。然后我打开 Excel,它给了我一条警告消息,它找不到加载项。然后我转到加载项管理器并单击我的加载项,然后单击开始。然后在加载项列表中勾选我的加载项,然后 excel 显示“加载项不存在。从列表中删除?”然后插件最终被删除。
只有像这样手动删除插件后,我才能使用上面的代码重新安装我的插件。现在这真的很麻烦,尤其是当我想将加载项分发给其他人时。必须有一种更简单的方法来更新加载项,而无需先手动删除它。
请不要提供随机答案或您认为“可能”对这个问题正确的答案。也请不要告诉我“试试这个和那个”。只有当您知道正确的解决方案时,请告诉我。我已经尝试了很多东西都无济于事。 :)
非常感谢。
【问题讨论】:
-
Only if you know the correct solution, tell me about it. I have already tried a number of things to no avail- 如果您向我们展示您尝试过的方法和无效的方法,您不必担心从 SO 那里得到相同的建议。