Font Size

Profile

Menu Style

Cpanel

24Setembro2017

MS Office Gurus

Onde os desenvolvedores Office se encontram

  • Criar conta
    *
    *
    *
    *
    *
    *

    Campos marcados com asterisco (*) são obrigatórios.

Você está aqui: Home Artigos Microsoft Office Word Eventos padrões: “Close”, “New” e “Open”
Mensagem
  • Kunena is not installed or the installed Kunena version is not supported. The plug-in has now been disabled. Please install/upgrade Kunena to version 1.7 for the Kunena Discuss Plug-in to function properly.

Eventos padrões: “Close”, “New” e “Open”

Estes três eventos são o que podemos chamar de “eventos padrões”. O motivo para isso é que estes três eventos estarão disponíveis sem que o leitor precise fazer nada.

Para acessar tais eventos abra o VBE e em seguida abra a janela de código para ThisDocument. Na janela há o objeto Document e para ele há vários eventos dentre os quais estão inclusos os três eventos em questão:

A seguir discuto cada um dos três eventos acima separadamente com exemplos simples de como utilizá-los.

O evento bastante importante é o evento “Open”. Este evento nos permitirá iniciar classes quando o documento é aberto. Utilizo este método em todos os exemplos deste curso.

Evento padrão “Close”

Vamos supor que você queira avisar que o documento está para ser fechado quando o usuário pressionar CTRL+W ou for a Arquivo --> Fechar. Neste caso, poderíamos escrever o seguinte código:

Private Sub Document_Close()
MsgBox "O documento " & ThisDocument.Name & " será fechado.", vbInformation
End Sub

Quando o documento é fechado nós capturamos o evento e neste caso uma mensagem é passada ao usuário:


Este seria um ótimo momento para avisar o usuário de algo que ele precisa executar antes de fechar o documento. Ao até mesmo executar algo antes documento ser fechado. Digamos que um e-mail precisa ser enviado quando o documento é fechado, então bastaria capturar o evento e executar a rotina para envio de e-mail.

O evento “New” ocorrerá quando um novo documento é criado. Este evento será mais útil se o escopo for global, isto é, se ele estiver dentro do documento “Normal.dot” ou “suplemento”, caso contrário poderá ter pouca utilidade no contexto de um único documento.

Supondo que o código esteja dentro do documento “Normal.dot”, sempre que um novo documento for criado poderíamos utilizar o seguinte código para avisar o usuário da criação e do nome do documento:

Private Sub Document_New()
MsgBox "O documento criado se chama " & _
ActiveWindow.Caption & ".", vbExclamation
End Sub

Assim como no exemplo anterior uma mensagem é passada ao usuário.

Evento padrão “Open”

O evento “Open” será bastante útil nos exemplo que darei. Como precisamos iniciar as classes, nós precisaremos de algo que posso iniciar o processo (iniciar a classe).

Poderíamos iniciar a classe utilizando o evento “New”, porém, este seria global e reiniciaria a classe sempre que um documento novo fosse criado (caso esteja no Normal.dot). Por outro lado, podemos querer que a classe seja iniciada quando o documento que contém a classe seja aberto.

Da mesma forma, nós podemos utilizar o evento “Close” para terminar uma classe.

Para o momento, deixarei apenas um exemplo similar aos anteriores. Mais adiante no curso veremos como iniciar classes utilizando este evento padrão do Word:

A simples mensagem acima pode ser criada utilizando o código abaixo:

Private Sub Document_Open()
MsgBox "Acabei de ser aberto e meu nome é " & _
ThisDocument.Name & ".", vbExclamation
End Sub

Clique aqui para ler as partes anteriores deste curso!