删除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中看到一堆不活跃的加载项,这会让用户非常困惑。

非常感谢你们的帮助。

Tommy

答案很晚,但由于我路过,我花了很长时间在这个问题上,而不是

kill (oAddin)

你需要

kill oAddin.fullname

尽管您也应该从AddIns的集合中删除该加载项,并可能注销。

此外,在2010版中,当您尝试删除文件时,可能会出现权限被拒绝的错误。这是由于ppt没有及时释放打开的加载项文件造成的。事实上,计时器并不能解决这个问题。但秒杀确实会起作用。

相关内容

最新更新