Maak gebeurtenismacro's voor het toepassingsobject met behulp van VBA in Microsoft Excel

Anonim

Start de Visual Basic-editor.
Selecteer het gewenste project in het Project-venster.
Voeg een nieuwe klasmodule toe door het menu Invoegen | . te selecteren Klasse module.
Activeer de nieuwe klassenmodule en hernoem deze, b.v. AppEventClass
Kopieer en plak deze voorbeeldmacro's in de nieuwe klassenmodule:

Public WithEvents Appl As Application Private Sub Appl_NewWorkbook(ByVal Wb As Workbook) ' hier uw code MsgBox "Er is een nieuwe werkmap gemaakt!" End Sub Private Sub Appl_WorkbookBeforeClose(ByVal Wb As Workbook, _ Cancel As Boolean) ' hier uw code MsgBox "A workbook is closed!" End Sub Private Sub Appl_WorkbookBeforePrint(ByVal Wb As Workbook, _ Cancel As Boolean) ' hier uw code MsgBox "Er is een werkmap afgedrukt!" End Sub Private Sub Appl_WorkbookBeforeSave (ByVal Wb As Workbook, _ ByVal SaveAsUI As Boolean, Cancel As Boolean) ' hier uw code MsgBox "Een werkmap is opgeslagen!" End Sub Private Sub Appl_WorkbookOpen(ByVal Wb As Workbook) ' hier uw code MsgBox "Een werkmap is geopend!" Einde sub

Nadat u klaar bent met het bewerken van de gebeurtenismacro's voor het toepassingsobject,
je moet wat code toevoegen aan de module ThisWorkbook om de nieuwe gebeurtenismacro's te activeren:

Dim ApplicationClass As New AppEventClass Private Sub Workbook_Open() Set ApplicationClass.Appl = Application End Sub

Nadat u de procedure Workbook_Open hebt uitgevoerd, worden de gebeurtenissen die aan het toepassingsobject zijn gekoppeld, geactiveerd.