Excel 未经同意删除了加载项

Excel add-in removed without consent

我在 VBA 中编写了一个 excel 加载项,它使用 python 调用 MySQL 服务器。我的问题如下:

每隔一段时间,不知为何,加载项就会从开发人员选项卡中删除,我无法再访问其代码。解决此问题的方法是卸载并重新安装加载项(文件->选项->加载项->转到...)。实在是太麻烦了,特来求助

Opening a existing file with formulas from my add-in, I first get the following warning

Leading to this when trying to edit the links

很遗憾,编辑失败,报错

然后,公式仍然损坏并且无法调用加载项,就像没有找到一样,我必须将其删除并重新导入才能使工作簿正常运行。

有没有 VBA 开发人员 运行 以前处理过这个问题?

如果我遇到和你一样的问题,我会这样做

  1. 关闭 Excel
  2. 中所有打开的工作簿
  3. 在空白 Excel 文件中创建一个名为 Auto_Open 的新子程序
  4. 添加此 post
  5. 底部提到的代码
  6. 输入、测试和验证代码后,将其保存到 C:\Users\<your username>\AppData\Roaming\Microsoft\Excel\XLSTART路径可能因您使用的 OS 而异

大功告成。下次 Excel 启动时,它将检查是否安装了插件,如果没有安装它。

未测试

Sub Auto_Open()
    If IsAddinLoaded("Your Add-In Name") = False Then
        With Application
            .AddIns.Add "Filepath to your Add-In", False
            .AddIns("Your Add-In Name").Installed = True
        End With
    End If
End Sub

Function IsAddinLoaded(AddinName As String) As Boolean
    On Error Resume Next
    IsAddinLoaded = Len(Workbooks(AddIns(AddinName).Name).Name) > 0
End Function