• 締切済み

【ppt、VBA】ファイル開閉時のマクロ自動ロード

自作のコマンドバーを作成して、アドイン化しました。 うまく動作していますが、一つ困っています。 以下のようにクラスをつくり、Open時にコマンドバーを作成し、 Close時にコマンドバーを削除しています。 しかし、複数のファイルを開いている際、そのうちの1つを閉じただけでコマンドバーが消えてしまいます。 どのようにすれば、パワーポイントプロセスの起動・終了に連動させることができるでしょうか? よろしくお願いします。 Public WithEvents App As Application Private Sub App_PresentationOpen(ByVal Pres As Presentation) Call MakeToolBar End Sub Private Sub App_PresentationClose(ByVal Pres As Presentation) Call RemoveToolBar End Sub

みんなの回答

noname#221368
noname#221368
回答No.1

Private Sub App_PresentationClose(ByVal Pres As Presentation)  Call RemoveToolBar End Sub は、どのファイルを閉じても起動してしまうので、Presentations.Countをチェックすればどうかと考えたのですが、「PresentationCloseは、Presentationが閉じる直前に起動する」とHelpに書かれていました。  じつはExcelでも、WorksheetCloseに関して、似たような状況が発生します。  ここは考え方を方向転換して、「PowerPoint自体を終了するまで、ToolBarが残ってたって良いじゃないか」というのはどうでしょう?。つまりRemoveToolBarを止めるという事です。  ご質問の文面からは、不要な操作に見えます。

関連するQ&A