PowerPoint VBA - 关闭时保留自定义CommandBar设置

时间:2010-11-04 14:18:44

标签: vba add-in powerpoint powerpoint-vba

我为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

1 个答案:

答案 0 :(得分:3)

做你正在做的事情是个好主意 - 当PowerPoint关闭时删除你的CommandBar。这样,如果出现错误,您的加载项不会在UI中留下不起作用的工件。

但是,对于管理状态,许多人使用GetSettingSaveSetting来读取/写入Registry for VB / VBA程序中的沙盒区域。在此page上查找以下功能:GetSettingSaveSettingGetAllSettingsDeleteSetting。您可以使用它们在PowerPoint实例之间管理加载项的CommandBar。使用起来相对简单 - 对于Excel来说here's a tutorial同样适用于PowerPoint。