2016-07-30 51 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時都會自動運行該文件?另外,我應該將它保存爲加載項還是簡單的啓用宏的工作簿? –

相關問題