Avvia l’editor di Visual Basic.

Selezionare il progetto desiderato nella finestra del progetto.

Inserire un nuovo modulo di classe selezionando il menu Inserisci | Modulo di classe.

Attiva il nuovo modulo di classe e rinominalo, ad es. AppEventClass Copia e incolla queste macro di esempio nel nuovo modulo di classe:

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

Dopo aver finito di modificare le macro di eventi per l’oggetto Application, devi aggiungere del codice al modulo ThisWorkbook per attivare le nuove macro di eventi:

Dim ApplicationClass As New AppEventClass

Private Sub Workbook_Open()

Set ApplicationClass.Appl = Application

End Sub

Dopo aver eseguito la procedura Workbook_Open, vengono attivati ​​gli eventi allegati all’oggetto Application.