我为2003及更早版本开发了一个PowerPoint加载项,可以在安装时生成自定义命令栏/工具栏。
我在卸载时删除此命令栏没有任何困难,但由于它使用Auto_Close
事件执行此操作,因此每次PowerPoint关闭时它也会删除工具栏,从而阻止用户永久自定义命令栏的位置。
我通过检查加载项是否已注册或加载来尝试条件删除,但Auto_Close
似乎在任何卸载或注销之前运行。
有关如何在卸载加载项时仅删除命令栏的任何想法?
Sub Auto_Close()
Dim pptAddin As AddIn
For Each pptAddin In AddIns
If pptAddin.Name = "AddInName" And _
pptAddin.Registered <> msoTrue Then
Application.CommandBars("CommandBarName").Delete
End If
Next
End Sub
答案 0 :(得分:3)
做你正在做的事情是个好主意 - 当PowerPoint关闭时删除你的CommandBar。这样,如果出现错误,您的加载项不会在UI中留下不起作用的工件。
但是,对于管理状态,许多人使用GetSetting
和SaveSetting
来读取/写入Registry for VB / VBA程序中的沙盒区域。在此page上查找以下功能:GetSetting
,SaveSetting
,GetAllSettings
,DeleteSetting
。您可以使用它们在PowerPoint实例之间管理加载项的CommandBar。使用起来相对简单 - 对于Excel来说here's a tutorial同样适用于PowerPoint。