繁体   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