2016-07-30 91 views
2

我已经在VBA中编写了一个使用python调用MySQL服务器的excel加载项。我的问题如下:Excel加载项在未经同意的情况下被移除

每隔一段时间,没有明显的原因,加载项从开发者选项卡中删除,我无法再访问它的代码。解决此问题的方法是卸载并重新安装加载项(文件 - >选项 - >加载项 - >去..)。由于它很乏味,我正在寻求帮助。

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开发人员遇到过此问题?

+0

都能跟得上。但是你实际上可以像exe文件一样进行加载项自我安装。并不是说它会真的帮助你。 – Andreas

回答

3

这里是我会怎么做,如果我面临着同样的问题,因为你

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

然后你就完成了。下次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 
+0

谢谢!文件是否位于XLSTART文件夹中,每次启动excel时都会自动运行该文件?另外,我应该将它保存为加载项还是简单的启用宏的工作簿? –

相关问题