Crie mapas de eventos para o objeto Aplicativo usando VBA no Microsoft Excel

Anonim

Inicie o editor do Visual Basic.
Selecione o projeto desejado na janela Projeto.
Insira um novo módulo de classe selecionando o menu Inserir | Módulo de classe.
Ative o novo módulo de classe e renomeie-o, por exemplo, AppEventClass
Copie e cole estas macros de exemplo no novo módulo de classe:

Public WithEvents Appl como Application Private Sub Appl_NewWorkbook (ByVal Wb As Workbook) 'seu código aqui 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) 'seu código aqui MsgBox "A workbook is Print!" End Sub Private Sub Appl_WorkbookBeforeSave (ByVal Wb As Workbook, _ ByVal SaveAsUI As Boolean, Cancel As Boolean) 'seu código aqui MsgBox "A workbook is saved!" End Sub Private Sub Appl_WorkbookOpen (ByVal Wb As Workbook) 'seu código aqui MsgBox "A workbook is open!" End Sub

Depois de terminar de editar as macros de evento para o objeto Aplicativo,
você tem que adicionar algum código ao módulo ThisWorkbook para ativar as novas macros de evento:

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

Depois de executar o procedimento Workbook_Open, os eventos anexados ao objeto Aplicativo são ativados.