Microsoft ExcelでVBAを使用して、Applicationオブジェクトのeventmacrosを作成
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オブジェクトにアタッチされたイベントがアクティブ化されます。