Using Events with the Document ObjectUsing Events with the Document Object

O objeto Document oferece suporte a vários eventos que permitem que você responda ao estado de um documento.The Document object supports several events that enable you to respond to the state of a document. Você escreve procedimentos para responder a esses eventos no módulo classe denominado "ThisDocument".You write procedures to respond to these events in the class module named "ThisDocument." Use as etapas a seguir para criar um procedimento de evento.Use the following steps to create an event procedure.

  1. Em seu projeto Normal ou no projeto de documento da janela do Explorador de projeto, clique duas vezes em ThisDocument.Under your Normal project or document project in the Project Explorer window, double-click ThisDocument. (Em modo de exibição de pasta, ThisDocument está localizado na pasta Objetos do Microsoft Word).(In Folder view, ThisDocument is located in the Microsoft Word Objects folder.)

  2. Selecione Document na caixa de listagem drop-down Objeto.Uma sub-rotina vazia é adicionada ao módulo de classe para o evento New.Select Document from the Object drop-down list box.An empty subroutine for the New event is added to the class module.

  3. Selecione um evento na caixa de listagem drop-down Procedimento.Select an event from the Procedure drop-down list box. Uma sub-rotina vazia é adicionada ao módulo de classe para o evento selecionado.An empty subroutine for the selected event is added to the class module.

  4. Adicione as instruções do Visual Basic que você deseja executar quando o evento ocorrer.Add the Visual Basic instructions you want to run when the event occurs.

O exemplo a seguir mostra um novo procedimento de evento no projeto normal que será executado quando um novo documento baseado no modelo normal for criado.The following example shows a New event procedure in the Normal project that will run when a new document based on the Normal template is created.

Private Sub Document_New() 
 MsgBox "New document was created" 
End Sub

O exemplo a seguir mostra um procedimento de evento Close em um projeto de documento que é executado somente quando o documento é fechado.The following example shows a Close event procedure in a document project that runs only when that document is closed.

Private Sub Document_Close() 
 MsgBox "Closing the document" 
End Sub

Ao contrário das macros automáticas, os procedimentos de evento no modelo Normal não têm um escopo global.Unlike auto macros, event procedures in the Normal template do not have a global scope. Por exemplo, os procedimentos de evento no modelo normal ocorrem somente se o modelo anexado for o modelo normal.For example, event procedures in the Normal template occur only if the attached template is the Normal template. Caso exista uma macro automática em um documento e no modelo anexado, somente a macro automática armazenada no documento será executada.If an auto macro exists in a document and the attached template, only the auto macro stored in the document will execute. Se um procedimento de evento para um evento Document existir em um documento e em seu modelo anexado, ambos os procedimentos de evento serão executados.If an event procedure for a document event exists in a document and its attached template, both event procedures will run.

ComentáriosRemarks

Para obter informações sobre como criar procedimentos de evento para o objeto Application , consulte usando eventos com o objeto Application.For information about creating event procedures for the Application object, see Using Events with the Application Object.

Suporte e comentáriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.