未经同意删除Excel加载项

时间:2016-07-30 02:44:03

标签: python excel vba excel-vba xlwings

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

每隔一段时间,由于没有明显的原因,加载项会从开发人员标签中删除,我无法再访问其代码了。解决此问题的方法是卸载并重新安装加载项(Files-> OPtions-> Add-ins-> Go ..)。由于它非常繁琐,我正在寻求帮助。

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 个答案:

答案 0 :(得分:3)

如果我遇到与你相同的问题

,我会怎么做
  1. 关闭Excel中所有打开的工作簿
  2. 在空白Excel文件
  3. 中创建一个名为Auto_Open的新子例程
  4. 添加此帖子底部提到的代码
  5. 输入,测试并验证代码后,将其保存到C:\Users\<your username>\AppData\Roaming\Microsoft\Excel\XLSTART路径可能因您使用的操作系统而异。
  6. 你完成了。下次启动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