Erstellen Sie Ereignismakros für das Anwendungsobjekt mit VBA in Microsoft Excel

Anonim

Starten Sie den Visual Basic-Editor.
Wählen Sie im Projekt-Fenster das gewünschte Projekt aus.
Fügen Sie ein neues Klassenmodul ein, indem Sie das Menü Einfügen | . wählen Klasse Modul.
Aktivieren Sie das neue Klassenmodul und benennen Sie es um, z.B. AppEventClass
Kopieren Sie diese Beispielmakros und fügen Sie sie in das neue Klassenmodul ein:

Öffentlich WithEvents Appl As Application Private Sub Appl_NewWorkbook(ByVal Wb As Workbook) ' Ihr Code hier MsgBox "Eine neue Arbeitsmappe wird erstellt!" End Sub Private Sub Appl_WorkbookBeforeClose(ByVal Wb As Workbook, _ Cancel As Boolean) ' Ihr Code hier MsgBox "Eine Arbeitsmappe ist geschlossen!" End Sub Private Sub Appl_WorkbookBeforePrint(ByVal Wb As Workbook, _ Cancel As Boolean) ' Ihr Code hier MsgBox "Eine Arbeitsmappe wird gedruckt!" End Sub Private Sub Appl_WorkbookBeforeSave(ByVal Wb As Workbook, _ ByVal SaveAsUI As Boolean, Cancel As Boolean) ' Ihr Code hier MsgBox "Eine Arbeitsmappe wird gespeichert!" End Sub Private Sub Appl_WorkbookOpen(ByVal Wb As Workbook) ' Ihr Code hier MsgBox "Eine Arbeitsmappe ist geöffnet!" End Sub

Nachdem Sie die Bearbeitung der Ereignismakros für das Anwendungsobjekt abgeschlossen haben,
Sie müssen dem Modul ThisWorkbook etwas 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 mit dem Anwendungsobjekt verbundenen Ereignisse aktiviert.