Neste artigo, vamos nos concentrar em expor a maneira de atualizar automaticamente todos os campos de um documento antes de fechá-lo.
Usamos campos para armazenar dados que podem mudar posteriormente. Portanto, assim que fizermos alguma alteração neles, precisamos atualizar os campos correspondentes. E, infelizmente, na maioria das vezes, teremos que atualizá-los manualmente.
Além disso, o maior problema reside em que podemos facilmente esquecer de atualizar os campos. Para resolver esse problema, oferecemos uma macro para atualizar automaticamente os campos antes de fechar o documento.
Atualize todos os campos antes de imprimir
Você pode alterar as opções do Word para definir campos de atualização antes de imprimir com as seguintes etapas:
- Em primeiro lugar, clique na guia “Arquivo” e depois em “Opções”.
- Em seguida, na caixa “Opções do Word” aberta, clique em “Exibir” na coluna da esquerda.
- Na seção direita, vá para a parte “Opções de impressão” para marcar a caixa “Atualizar campos antes de imprimir”.
- Por fim, clique em “OK”.
Atualização automática de todos os campos antes de fechar o documento
- Para começar, acione o editor VBA no Word pressionando “Alt+F11”.
- Em seguida, clique no projeto “Normal”.
- Em seguida, na barra de menu, clique em “Inserir”.
- E selecione “Módulo de Aula”.
- Em seguida, clique no comando “Janela de propriedades” na barra de menus ou pressione “F4” para acioná-lo.
- Na janela aberta no canto inferior esquerdo, nomeie o módulo de classe recém-criado como “objWordClass”.
- Na área de codificação digite os seguintes códigos:
Option Explicit
Public WithEvents objWord As Word.Application
Private Sub objWord_DocumentBeforeClose(ByVal objDoc As Document, varCancel As Boolean)
Dim strButtonValue As String
Application.ScreenUpdating = False
Set objDoc = ActiveDocument
objDoc.Save
strButtonValue = MsgBox("Do you want to update all fields in this document before closing?", _
vbYesNo + vbQuestion)
If strButtonValue = vbYes Then
varCancel = True
If objDoc.Fields.Count > 0 Then
With objDoc
.Fields.Update
.Save
.Close
End With
Else
MsgBox ("There is no field in this document.")
End If
Else
varCancel = False
End If
Application.ScreenUpdating = True
End Sub
- E lembre-se de clicar no botão “Salvar”.
- Agora ainda no projeto “Normal”, clique em “Inserir” novamente e selecione “Módulo” desta vez.
- Em seguida, abra o módulo e cole estes códigos:
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- Da mesma forma, salve os códigos.
- Da próxima vez que terminar de editar um documento, salve-o. E quando você clicar no comando “Fechar”, você receberá a caixa de perguntas. Clique em “Sim” para atualizar todos os campos e o documento será fechado quando a tarefa for concluída.
Trazer documento morto de volta à vida
É inevitável encontrar alguns problemas de vez em quando ao usar o Word. Assim, é aconselhável estar preparado para eventuais documento danificado. A melhor maneira é, claro, obter uma ferramenta de reparo especializada com antecedência.
Introdução do autor:
Vera Chen é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparar Excel e pdf reparar produtos de software. Para mais informações visite www.datanumen.com




