Inicie el editor de Visual Basic.

Seleccione el proyecto deseado en la ventana Proyecto.

Inserte un nuevo módulo de clase seleccionando el menú Insertar | Módulo de clase.

Active el nuevo módulo de clase y cámbiele el nombre, p. Ej. AppEventClass Copie y pegue estas macros de ejemplo en el nuevo módulo de clase:

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

Una vez que haya terminado de editar las macros de eventos para el objeto Aplicación, debe agregar algún código al módulo ThisWorkbook para activar las nuevas macros de eventos:

Dim ApplicationClass As New AppEventClass

Private Sub Workbook_Open()

Set ApplicationClass.Appl = Application

End Sub

Después de ejecutar el procedimiento Workbook_Open, se activan los eventos adjuntos al objeto Aplicación.