簡體   English   中英

使用VBA刪除Powerpoint中的加載項

[英]Remove Add-in in Powerpoint with VBA

我在PowerPoint中有一個VBA加載項,有時會進行更新。 我在VBA中編寫了一個代碼,其中每個星期一都會檢查是否存在該加載項的較新版本。 如果可以,PowerPoint將自動更新加載項。 到目前為止,我已經做到了:

  • 在PowerPoint中停用舊的加載項
  • 刪除Microsoft的外接程序文件夾中的舊外接程序
  • 將新的外接程序復制到Microsoft的外接程序文件夾
  • 在PowerPoint中激活新的加載項

但是,我似乎找不到正確的命令來刪除PowerPoint中的舊加載項。 舊的外接程序仍在PowerPoint的可用外接程序中,PowerPoint還在非活動的應用程序外接程序下列出了它。

這是代碼的一部分,它首先停用了外接程序,然后嘗試將其從PowerPoint中刪除。

Dim oAddin As AddIn
For Each oAddin In Application.AddIns
   If Left(oAddin.name, 16) = "PPT ACO Add-in V" Then
       oAddin.Loaded = msoFalse
       Kill (oAddin) '<-- these is the line of Code that doesn't execute
   End if
Next oAddin

該程序可以運行,但是一段時間后,我會在PowerPoint中放置大量閑置的加載項,這會使用戶感到非常困惑。

非常感謝您的幫助。

湯米

答案很晚,但是自從我過去以來,我花了相當長的時間在這個問題上,而不是

kill (oAddin)

你需要

kill oAddin.fullname

盡管您還應該從AddIns集合中刪除該addin並取消注冊。

同樣,在2010版中,當您嘗試刪除文件時,可能會收到拒絕權限的錯誤。 這是由於ppt無法及時釋放打開的加載項文件引起的。 實際上,計時器不能解決它。 但是第二殺實際上會起作用。

暫無
暫無

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

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