WorkbookBeforePrint
Primeiro devemos criar um módulo de classe e renome-lo para AppEventCls.
1) Entre no VBA depois em Inserir>Módulo de classe

2) Click no módulo para seleciona-lo depois nas Propriedades do módulo altere o nome para AppEventCls

3) Ao final o resultado deve ser como a a imagem abaixo.

De um duplo click no módulo de classe, copie e cole o código abaixo.
Option Explicit
'Modulo de classe AppEventCls
Public WithEvents myApp As Application
Private Sub myApp_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As _
Boolean)
MsgBox Wb.Name & "‚ esta enviando uma impressão - Por Evento Application"
End Sub
Pronto!!! Já expandimos esse evento para todo o objeto application, mas agora vamos precisar inicializar esse evento para que comece a ser utilizado, para isso vamos criar uma rotina em um módulo.
1) Entre no VBA depois em Inserir>Módulo

2) Ao final o resultado deve ser como a a imagem abaixo.

De um duplo click no módulo, copie e cole o código abaixo.
Option Explicit
'Declarando uma variavel que vai assumir os eventos do módulo
Dim myAppCls As New AppEventCls
Sub InitializeAppEvent()
Set myAppCls.myApp = Application
End Sub
Execute o código acima e a cada vez que enviar uma impressão no mesmo objeto application ou seja na mesma instancia desse Excel mas não se limitando a uma unica pasta de trabalho (workbook) sera exibida uma mensagem.
Nesse exemplo mostrei como dar o start manualmente por uma rotina, mas nada impede a execução por um evento padrão tipo open.
Clique aqui para baixar o arquivo desse passo a passo.

Super friendly community and a very responsive platform. I love how they handle the promotions and the weekly events. Keep it up vnzh88!
Yo, 399betlogin has got some sweet bonuses going on right now. Grabbed one and already doubled my initial deposit. Worth a look for sure. Get in the game at 399betlogin.