VisualBasicエディターを起動します。

プロジェクトウィンドウで目的のプロジェクトを選択します。

メニュー[挿入] | [挿入]を選択して、新しいクラスモジュールを挿入します。クラスモジュール。

新しいクラスモジュールをアクティブにして、名前を変更します。例: AppEventClassこれらのサンプルマクロをコピーして、新しいクラスモジュールに貼り付けます。

Public WithEvents Appl As Application

Private Sub Appl_NewWorkbook(ByVal Wb As Workbook)

' your code here

MsgBox "A new workbook is created!"

End Sub

Private Sub Appl_WorkbookBeforeClose(ByVal Wb As Workbook, _

Cancel As Boolean)

' your code here

MsgBox "A workbook is closed!"

End Sub

Private Sub Appl_WorkbookBeforePrint(ByVal Wb As Workbook, _

Cancel As Boolean)

' your code here

MsgBox "A workbook is printed!"

End Sub

Private Sub Appl_WorkbookBeforeSave(ByVal Wb As Workbook, _

ByVal SaveAsUI As Boolean, Cancel As Boolean)

' your code here

MsgBox "A workbook is saved!"

End Sub

Private Sub Appl_WorkbookOpen(ByVal Wb As Workbook)

' your code here

MsgBox "A workbook is opened!"

End Sub

Applicationオブジェクトのイベントマクロの編集が終了したら、モジュールThisWorkbookにコードを追加して、新しいイベントマクロをアクティブ化する必要があります。

Dim ApplicationClass As New AppEventClass

Private Sub Workbook_Open()

Set ApplicationClass.Appl = Application

End Sub

Workbook_Openプロシージャを実行すると、Applicationオブジェクトにアタッチされたイベントがアクティブ化されます。