Starten Sie den Visual Basic-Editor.

Wählen Sie im Projektfenster das gewünschte Projekt aus.

Fügen Sie ein neues Klassenmodul ein, indem Sie das Menü Einfügen | auswählen Klassenmodul.

Aktivieren Sie das neue Klassenmodul und benennen Sie es um, z. AppEventClass Kopieren Sie diese Beispielmakros und fügen Sie sie in das neue Klassenmodul ein:

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

Nachdem Sie die Ereignismakros für das Anwendungsobjekt bearbeitet haben, müssen Sie dem Modul ThisWorkbook Code hinzufügen, um die neuen Ereignismakros zu aktivieren:

Dim ApplicationClass As New AppEventClass

Private Sub Workbook_Open()

Set ApplicationClass.Appl = Application

End Sub

Nachdem Sie die Prozedur Workbook_Open ausgeführt haben, werden die an das Anwendungsobjekt angehängten Ereignisse aktiviert.