Você deseja que todo novo documento baseado em um modelo do Word comece com a data atual já inserida, e precisa que essa data seja texto simples para não ser atualizada depois. Por padrão, o Word usa um campo de data que é atualizado toda vez que o documento é aberto. Isso causa problemas quando a data precisa permanecer fixa, como em formulários legais, faturas ou correspondências datadas. Este artigo explica como criar um modelo que insere a data de hoje como texto estático usando uma macro e o evento Document_New.
Principais Pontos: Inserir Data Atual como Texto Simples em um Modelo do Word
- Macros AutoOpen e Document_New: Executam código automaticamente quando um documento é criado ou aberto a partir de um modelo.
- Funções Date e Format: Inserem a data atual do sistema como texto simples com um formato especificado.
- Salvar como .dotm (modelo habilitado para macro): Necessário para armazenar e executar macros VBA em um arquivo de modelo.
Como o Word Insere Datas por Padrão e Por Que Isso Importa
Ao usar o comando Inserir > Data e Hora no Word e marcar “Atualizar automaticamente”, o Word insere um campo DATE. Esse campo exibe a data atual com base no relógio do sistema. Toda vez que você abre o documento, o Word atualiza o campo para mostrar a data atual, não a data em que o documento foi criado. Esse é o comportamento correto para um campo de data dinâmico, mas é o oposto do que você precisa para uma data fixa.
Se você desmarcar “Atualizar automaticamente”, o Word insere a data como texto simples naquele momento. Mas, ao salvar o arquivo como modelo, a data em texto simples fica fixa na data em que o modelo foi criado. Cada novo documento baseado nesse modelo exibirá a mesma data antiga. Para inserir a data do dia atual como texto simples toda vez que um novo documento for criado, você deve usar uma macro VBA que seja executada quando o novo documento for gerado.
O que o Evento Document_New Faz
Os modelos do Word podem conter código VBA que é executado automaticamente em resposta a eventos. O evento Document_New é disparado quando um novo documento é criado a partir de um modelo. Esse evento é o local correto para inserir a data. A macro pode usar a função Date do VBA para obter a data do sistema e a função Format para controlar a aparência da data. Como a macro escreve a data como uma string, ela é texto estático — não um campo — portanto, nunca será atualizada.
Passos para Criar um Modelo que Insere Automaticamente a Data de Hoje como Texto Simples
Siga estas etapas para criar um modelo habilitado para macro (.dotm) que insere a data atual como texto simples no topo de cada novo documento.
- Habilitar a Guia Desenvolvedor no Word
Abra o Word. Vá em Arquivo > Opções > Personalizar Faixa de Opções. No painel direito, marque a caixa ao lado de Desenvolvedor. Clique em OK. A guia Desenvolvedor agora aparece na faixa de opções. - Criar um Novo Documento em Branco
Pressione Ctrl+N para criar um novo documento em branco. Este documento será a base do seu modelo. - Abrir o Editor VBA
Na guia Desenvolvedor, clique em Visual Basic. Como alternativa, pressione Alt+F11. O editor VBA abre em uma janela separada. - Inserir um Módulo para o Projeto do Modelo
No editor VBA, observe o painel Explorador de Projetos à esquerda. Se não estiver visível, clique em Exibir > Explorador de Projetos. Encontre o projeto chamado “Normal” ou “Projeto (Documento1)”. Clique com o botão direito em “ThisDocument” sob o projeto. Escolha Exibir Código. Uma janela de código em branco é aberta. - Escrever a Macro Document_New
Na janela de código, cole o seguinte código VBA:Private Sub Document_New() Dim dt As String dt = Format(Date, "mmmm d, yyyy") Selection.TypeText dt End SubEste código é executado quando um novo documento é criado a partir do modelo. Ele obtém a data do sistema, formata como “janeiro 1, 2025” e digita esse texto na posição do cursor. Para usar um formato diferente, substitua
"mmmm d, yyyy"por um destes:"d MMMM yyyy"para “1 janeiro 2025”,"dd/MM/yyyy"para “01/01/2025”, ou"dd-MMM-yy"para “01-jan-25”. - Fechar o Editor VBA
Clique em Arquivo > Fechar e Retornar ao Microsoft Word na barra de menus do editor VBA. Você retorna ao seu documento. - Projetar o Conteúdo do Modelo
No documento, adicione qualquer outro conteúdo que deva aparecer em todos os novos documentos: cabeçalho, texto padrão, tabelas ou espaços reservados. Posicione o cursor exatamente onde deseja que a data apareça. A macro insere a data na posição do cursor quando o documento é criado, portanto, posicione o cursor adequadamente antes de salvar o modelo. - Salvar o Arquivo como um Modelo Habilitado para Macro
Clique em Arquivo > Salvar Como. Escolha um local, como sua pasta de Modelos do Office personalizados. No menu suspenso Tipo de Arquivo, selecione “Modelo Habilitado para Macro do Word (.dotm)”. Dê um nome ao seu modelo, por exemplo “ModeloFatura.dotm”. Clique em Salvar. O Word salva o arquivo como um modelo com a extensão .dotm, que preserva a macro VBA. - Testar o Modelo
Feche todas as janelas do Word. Abra o Word novamente. Clique em Arquivo > Novo. Clique em Pessoal ou Compartilhado (dependendo da versão do Word). Encontre seu modelo e clique nele. O Word cria um novo documento. A data atual deve aparecer como texto simples no topo. Verifique se a data não é um campo clicando com o botão direito — se “Atualizar Campo” não aparecer no menu de contexto, a data é texto estático.
Se a Data Não Aparecer ou a Macro Não Executar
Várias configurações podem impedir a execução da macro. Verifique cada um dos cenários a seguir.
O Modelo Foi Salvo como .dotx em Vez de .dotm
Um arquivo .dotx não pode conter macros. Se você salvou o modelo como .dotx, o Word ignora qualquer código VBA no arquivo. Abra o modelo, clique em Arquivo > Salvar Como e escolha “Modelo Habilitado para Macro do Word (.dotm)”. Substitua o arquivo existente.
Configurações de Segurança de Macro Bloqueiam o Código
O Word desabilita macros por padrão se o arquivo for de um local não confiável. Vá em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Configurações de Macro. Selecione “Habilitar todas as macros” apenas para teste. Para uso em produção, armazene o modelo em um local confiável: vá em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Locais Confiáveis, adicione a pasta onde você salvou o arquivo .dotm e marque “Subpastas deste local também são confiáveis”. Em seguida, defina as Configurações de Macro de volta para “Desabilitar todas as macros, exceto as assinadas digitalmente” ou “Desabilitar todas as macros com notificação”.
A Macro Foi Colocada no Módulo Errado
O evento Document_New deve estar no módulo de código ThisDocument do projeto do modelo, não em um módulo padrão ou no projeto Normal.dotm. Abra o editor VBA, clique duas vezes em “ThisDocument” sob o projeto do modelo e verifique se o código está lá. Se você colocou o código em um módulo padrão (Module1), o evento não será disparado. Mova o código para ThisDocument.
Comparação: Métodos de Inserção de Data em Modelos do Word
| Item | Inserir > Data com “Atualizar automaticamente” marcado | Inserir > Data com “Atualizar automaticamente” desmarcado | Macro VBA usando Document_New |
|---|---|---|---|
| Tipo de resultado | Campo DATE (dinâmico) | Texto simples (estático) | Texto simples (estático) |
| Atualiza ao abrir | Sim | Não | Não |
| Comportamento da data no modelo | Mostra a data atual na criação do documento, depois atualiza a cada abertura | Mostra a data em que o modelo foi salvo | Mostra a data em que o novo documento foi criado, nunca atualiza |
| Formato de arquivo necessário | .dotx ou .dotm | .dotx ou .dotm | .dotm apenas |
| Preocupação com segurança de macro | Nenhuma | Nenhuma | É necessário habilitar macros ou usar local confiável |
Agora você pode criar um modelo do Word que insere automaticamente a data atual como texto simples toda vez que um novo documento é gerado. A macro VBA usando o evento Document_New oferece controle total sobre o formato da data e garante que a data nunca seja atualizada. Para automação adicional, considere adicionar uma macro que também insira a hora ou o nome do autor do documento usando a mesma técnica. Um próximo passo prático é combinar esta macro de data com uma Entrada de Bloco de Construção ou AutoTexto para construir um cabeçalho de documento completo.