2


0

PowerPoint VBA-閉じる際のカスタムCommandBar設定の保持

インストール時にカスタムコマンドバー/ツールバーを生成するバージョン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 Answer


3


PowerPointを閉じたときにCommandBarを削除するという、実行中の操作を行うことをお勧めします。 このようにして、エラーが発生した場合、アドインはUIに機能しないアーティファクトを残しません。

ただし、状態を管理するために、多くの人はVB / VBAプログラムのレジストリのサンドボックス化された領域の読み取り/書き込みに GetSetting`と SaveSetting`を使用します。 このhttp://office.microsoft.com/client/helpcategory14.aspx?CategoryID=CH080154379&lcid=1033&NS=POWERPNT%2EDEV&Version=14&tl=2&CTT=4[page]で次の関数を検索してください: GetSetting、` SaveSetting`、 「GetAllSettings」、「DeleteSetting」。 これらを使用して、PowerPointインスタンス間でアドインのCommandBarを管理できます。 使用するのは比較的簡単です-PowerPointにも同様に適用されるExcelのhttp://j-walk.com/ss/excel/tips/tip60.htm [こちらのチュートリアル]