Quando você trabalha com muitos documentos do Word, manter nomes de arquivo consistentes se torna um desafio. Talvez seja necessário incluir datas, códigos de projeto, números de versão ou iniciais do autor em cada nome de arquivo. Digitar manualmente cada vez leva a erros e perda de tempo. Este artigo explica como usar campos e macros internos do Word para aplicar automaticamente uma convenção de nomenclatura específica ao salvar um documento. Você aprenderá a configurar um modelo que insere conteúdo dinâmico, como a data atual ou uma propriedade personalizada do documento, diretamente no nome do arquivo.
Principais Conclusões: Automatize a Nomenclatura de Arquivos no Word
- Quick Parts > Field > CreateDate ou DocProperty: Insira conteúdo dinâmico no documento que pode ser usado como parte do nome do arquivo.
- File > Save As com uma entrada AutoText personalizada: Crie um esqueleto de nome de arquivo reutilizável que inclui partes estáticas e dinâmicas.
- Macro VBA vinculada ao evento BeforeSave: Renomeie e salve automaticamente o documento seguindo sua convenção, sem digitação manual.
Entendendo a Automação da Convenção de Nomenclatura de Arquivos no Word
O Word não possui um recurso nativo que force uma convenção de nomenclatura específica no momento em que você pressiona Salvar. A caixa de diálogo Salvar Como mostra o título do documento como nome de arquivo padrão, mas você precisa editá-lo manualmente. Para automatizar isso, é necessário combinar várias ferramentas do Word: campos para conteúdo dinâmico, AutoText para blocos de texto reutilizáveis e macros para automação completa.
Uma convenção de nomenclatura de arquivo geralmente inclui partes estáticas, como um código de projeto, e partes dinâmicas, como a data atual ou um número de versão. Por exemplo: PRJ2024_2025-03-21_v2.docx. Você pode armazenar as partes estáticas em uma propriedade de documento personalizada e inserir as partes dinâmicas usando campos do Word. Em seguida, com uma macro, você pode montar essas peças no nome do arquivo toda vez que salvar.
Pré-requisitos para Usar Macros
As macros exigem que você habilite a guia Desenvolvedor no Word. Vá em File > Options > Customize Ribbon e marque a caixa Developer no painel direito. Além disso, as macros usam código VBA, então você deve salvar o arquivo como um documento habilitado para macro (.docm) ou como um modelo (.dotm) se quiser que a macro esteja disponível em todos os novos documentos.
Passos para Criar uma Convenção de Nomenclatura Reutilizável
O método a seguir usa uma propriedade de documento personalizada e um campo para construir um nome de arquivo que você pode copiar para a caixa de diálogo Salvar Como. Esta abordagem funciona sem macros e é segura para usuários que não podem executar código VBA.
- Adicione uma propriedade de documento personalizada para o código do projeto
Clique em File > Info > Properties > Advanced Properties. Vá para a guia Custom. Digite um nome comoProjectCode. Defina o Type como Text. Insira o valor, por exemploPRJ2024. Clique em Add e depois OK. - Insira um campo que combine conteúdo estático e dinâmico
Posicione o cursor onde deseja que o esqueleto do nome do arquivo apareça. Pressione Ctrl+F9 para inserir um par de chaves de campo. Dentro das chaves, digite:DocProperty ProjectCode \ MERGEFORMAT. Pressione F9 para atualizar o campo. Em seguida, digite um separador como um sublinhado e insira outro campo: pressione Ctrl+F9 e digiteCreateDate \@ "yyyy-MM-dd" \ MERGEFORMAT. Pressione F9 novamente. Seu campo deve ficar assim:{ DocProperty ProjectCode \ MERGEFORMAT }_{ CreateDate \@ "yyyy-MM-dd" \ MERGEFORMAT }. - Salve o campo como uma entrada AutoText
Selecione todo o resultado do campo (o texto que aparece após a atualização). Pressione Alt+F3. Na caixa de diálogo Create New Building Block, digite um nome comoFileNameSkeleton. Escolha AutoText como Gallery. Clique em OK. - Use a entrada AutoText ao salvar
Pressione Ctrl+S para abrir a caixa de diálogo Salvar Como. Clique na caixa File name. Digite um espaço e pressione F3. A entrada AutoTextFileNameSkeletonaparece. Pressione Enter para inserir o esqueleto, edite o nome do arquivo conforme necessário e clique em Save.
Automatizando o Nome do Arquivo com uma Macro
Se você deseja que o nome do arquivo seja gerado automaticamente sem nenhuma digitação manual, use uma macro VBA. Esta macro é executada toda vez que você salva o documento. Ela lê a propriedade personalizada e a data atual e define o nome do arquivo de acordo.
- Abra o editor VBA
Pressione Alt+F11. No Project Explorer, clique duas vezes em ThisDocument. Isso abre a janela de código do documento atual. - Cole o código da macro
Copie o seguinte código na janela:Private Sub Document_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim projectCode As String Dim dateStr As String Dim baseName As String Dim fullName As String Dim docPath As String Dim doc As Document Set doc = ActiveDocument ' Read custom property On Error Resume Next projectCode = doc.CustomDocumentProperties("ProjectCode") On Error GoTo 0 If projectCode = "" Then projectCode = "NOCODE" ' Format current date dateStr = Format(Date, "yyyy-mm-dd") ' Build file name baseName = projectCode & "_" & dateStr & "_v1" ' If the document has never been saved, set the file name If doc.Path = "" Then If SaveAsUI Then ' The Save As dialog will appear; we set the suggested name ' This requires a workaround: we cannot set the dialog field directly ' Instead, we store the name in a variable for later use End If Else ' If already saved, rename and save docPath = doc.Path & "\" & baseName & ".docm" doc.SaveAs2 FileName:=docPath Cancel = True ' Prevent default save End If End Sub - Salve e teste a macro
Feche o editor VBA. Salve o documento como um documento habilitado para macro (.docm). Pressione Ctrl+S. A macro é executada e salva o arquivo com a convenção de nomenclatura baseada na propriedade personalizada e na data atual.
Problemas Comuns ao Automatizar a Nomenclatura de Arquivos
A Macro Não Executa Quando Pressiono Salvar
As macros são desabilitadas por padrão ao abrir um documento da internet ou e-mail. Verifique as configurações de segurança: vá em File > Options > Trust Center > Trust Center Settings > Macro Settings. Selecione Enable all macros. Certifique-se também de que o arquivo seja salvo como .docm, não .docx. Se a macro ainda não funcionar, abra o editor VBA e verifique se o código está no módulo ThisDocument do documento correto.
O Nome do Arquivo Contém Caracteres Inválidos
Nomes de arquivo do Windows não podem conter os seguintes caracteres: \ / : ? ” < > |. Se sua propriedade personalizada ou formato de data incluir algum deles, o método SaveAs2 falhará. Certifique-se de que o formato da data use apenas hífens ou sublinhados. Por exemplo, use yyyy-mm-dd em vez de yyyy/mm/dd. Verifique o valor da propriedade personalizada quanto a caracteres inválidos antes de salvar.
A Propriedade Personalizada Está Vazia Após Salvar
As propriedades de documento personalizadas são armazenadas no próprio documento. Se você abrir um documento que foi salvo sem a propriedade, a macro usará o valor padrão NOCODE. Para corrigir isso, adicione a propriedade personalizada novamente usando File > Info > Properties > Advanced Properties > Custom tab. Para modelos, adicione a propriedade no modelo para que todo novo documento a herde.
Nomenclatura Manual vs Macro Automatizada: Principais Diferenças
| Item | Salvar Como Manual | Macro Automatizada |
|---|---|---|
| Esforço por salvamento | Digitar ou colar o nome do arquivo toda vez | Nenhuma digitação após a configuração inicial |
| Taxa de erro | Alta, especialmente com datas e códigos | Baixa, formato consistente toda vez |
| Curva de aprendizado | Nenhuma necessária | Requer conhecimento de VBA ou copiar código |
| Restrições de segurança | Nenhuma | Macro deve estar habilitada, arquivo deve ser .docm |
| Flexibilidade | Você pode alterar o nome livremente | Convenção fixa; alterações exigem edição do código |
Agora você pode salvar documentos do Word com uma convenção de nomenclatura consistente usando uma abordagem manual baseada em campos ou uma macro automatizada. Comece definindo sua convenção e adicionando uma propriedade de documento personalizada para a parte estática. Para uso frequente, configure a entrada AutoText para inserir o esqueleto rapidamente. Se você gerencia muitos documentos, a macro economiza mais tempo. Como próximo passo, explore o evento Document_Open para exibir uma caixa de diálogo que permita ao usuário escolher o número da versão ou código do projeto antes de salvar.