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) 'su código aquí MsgBox "¡Se crea un nuevo libro de trabajo!" End Sub Private Sub Appl_WorkbookBeforeClose (ByVal Wb As Workbook, _ Cancel As Boolean) 'su código aquí MsgBox "¡Un libro de trabajo está cerrado!" End Sub Private Sub Appl_WorkbookBeforePrint (ByVal Wb como libro de trabajo, _ Cancelar como booleano) 'su código aquí MsgBox "¡Se imprimió un libro de trabajo!" End Sub Private Sub Appl_WorkbookBeforeSave (ByVal Wb como libro de trabajo, _ ByVal SaveAsUI como booleano, Cancelar como booleano) 'su código aquí MsgBox "¡Se guardó un libro de trabajo!" End Sub Private Sub Appl_WorkbookOpen (ByVal Wb As Workbook) 'su código aquí MsgBox "¡Se abre un libro!" End Sub
Una vez que haya terminado de editar las macros de eventos para el objeto Aplicación,
tienes que agregar algún código al módulo ThisWorkbook para activar las nuevas macros de eventos:
Atenuar ApplicationClass como nuevo AppEventClass Private Sub Workbook_Open () Establecer ApplicationClass.Appl = Application End Sub
Después de ejecutar el procedimiento Workbook_Open, se activan los eventos adjuntos al objeto Aplicación.