簡體   English   中英

如何使用VBA啟用/添加和禁用/刪除Excel加載項?

[英]How to enable/add and disable/remove an Excel Add-In using VBA?

if addin exists then do nothing else add_addin("AddinName")類的東西if addin exists then do nothing else add_addin("AddinName")

我有一些加載項,啟用后會首先彈出一條消息。 因此,如果我在自動打開excel的情況下啟用它們,這將非常煩人。 如果我可以分配一些VBA代碼來進行啟用,並為該代碼放置一個快速訪問按鈕,則管理起來會容易得多,我只需要根據需要啟用它們。

NathaneilCapital,因為您沒有任何代碼,我將為您解釋此過程。

添加新的外接程序並安裝它(使其顯示在功能區上)非常容易。

添加加載項:

使用FileCopy命令將xlam文件復制到庫文件夾。 您可以像這樣獲得輕松復制文件到的地址:

sAddInPathTo = Application.UserLibraryPath

sToFullName = sAddInPathTo & "\\" & "MyAddInName.xlam"

FileCopy sFromFullName, sToFullName

此時,如果您轉到“開發人員/加載項”,則會看到加載項的名稱,但未選中其旁邊的復選框,這意味着未啟用/安裝。 為此,您可以使用:

AddIns("MyAddInName").Installed=True

在此行之后,您的加載項應在Excel功能區上顯示為新選項卡。

要卸載外接程序,您可以這樣簡單地執行以下操作:

AddIns("MyAddInName").Installed=False

如果要手動執行此操作,則應打開AddInInstallerManager(開發人員/加載項),然后取消選中您的加載項。

但是,將其從AddInInstallerManager的“加載項”列表中刪除更為復雜。 首先,您應該從庫地址中刪除xlam文件,只需使用以下方法即可:

Kill sToFullName

確保先卸載,否則Windows將無法刪除該文件。

其次,最困難的部分是清理注冊表。 實際上,在上面提到的行之后,您會在AddInInstallerManager中看到加載項名稱,但是當您瀏覽時,您不會在其中看到xlam文件,這有點矛盾。 因為AddInInstallerManager列出了ini文件中的那些加載項。 實際上,如果到此為止,它仍然可以正常工作,並且萬一Excel能夠找到它,它將刷新ini文件並且您應該還不錯,但是要手動執行此操作,可以打開AddInInstallerManager,然后單擊加載項的名稱,它將為您拋出錯誤,然后將其從列表中刪除。 您可以執行此操作,但可以使用發送鍵對其進行仿真,也可以直接修改注冊表。 請參閱此以獲取更多信息:

http://www.jkp-ads.com/articles/addinsandsetupfactory.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM