Você escreveu uma macro no Editor VBA, salvou o documento e, ao reabri-lo, o módulo VBA desapareceu. Isso acontece quando você salva um arquivo com código VBA como .docx. O formato .docx não armazena macros, então o Word remove silenciosamente todos os módulos durante a operação de salvamento. Este artigo explica por que o Word remove o código VBA de arquivos .docx, como recuperar o módulo perdido se você ainda não fechou o documento e como evitar o problema salvando no formato .docm correto.
Principais Conclusões: Evitando a Perda de Módulo VBA ao Salvar Documentos do Word
- Arquivo > Salvar como > Tipo > Documento Habilitado para Macros do Word (docm): O único formato de arquivo que preserva módulos VBA no Word
- Arquivo > Opções > Salvar > Salvar arquivos neste formato > Documento Habilitado para Macros do Word (docm): Altere o formato de salvamento padrão para .docm para evitar salvamentos acidentais como .docx
- Ctrl + Z imediatamente após salvar como .docx: Desfaça a operação de salvamento para recuperar o módulo VBA antes de fechar o documento
Por que Salvar como .docx Remove Módulos VBA
O Word usa três formatos principais de arquivo que diferem no conteúdo que podem armazenar. O formato .docx é o formato padrão introduzido no Office 2007. Ele foi projetado para armazenar texto, imagens, tabelas e formatação. O formato .docx não suporta macros VBA, controles ActiveX ou controles de formulário. O formato .docm é idêntico ao .docx em estrutura, exceto que inclui um contêiner especial habilitado para macros que armazena projetos VBA. O formato .doc mais antigo também suporta macros.
Quando você escolhe Arquivo > Salvar como e seleciona Documento do Word (docx) como tipo, o Word verifica se o documento contém código VBA. Se houver, o Word exibe um aviso que diz: “O documento não pode ser salvo porque contém macros, controles ActiveX ou outro código que não pode ser salvo em um documento livre de macros.” O diálogo oferece duas opções: Salvar como Documento Livre de Macros ou Cancelar. Se você clicar em Salvar como Documento Livre de Macros, o Word remove todos os módulos VBA, módulos de classe e módulos de formulário do documento antes de gravar o arquivo. Essa ação é irreversível depois que o arquivo é fechado.
A remoção não é um bug. É proposital para evitar que usuários distribuam acidentalmente arquivos habilitados para macros em ambientes que bloqueiam arquivos .docm. No entanto, muitos usuários ignoram o aviso sem ler, ou têm o hábito de salvar como .docx e não percebem o aviso. O resultado é um arquivo salvo sem código e sem maneira de recuperar o módulo do próprio arquivo .docx.
Passos para Recuperar um Módulo VBA Após Salvar como .docx
Se você salvou o documento como .docx, mas ainda não o fechou, pode recuperar o módulo imediatamente. Se você fechou o documento após salvar, o módulo foi perdido permanentemente desse arquivo e você deve restaurá-lo a partir de um backup.
Recuperar o Módulo Antes de Fechar o Documento
- Pressione Ctrl + Z imediatamente
Isso desfaz a operação de salvamento. O documento retorna ao estado anterior, que ainda contém os módulos VBA. Você pode verificar pressionando Alt + F11 para abrir o Editor VBA. - Pressione F12 para abrir Salvar como
Não use Ctrl + S. O diálogo Salvar como permite escolher o formato correto. - Altere o Tipo de salvamento para Documento Habilitado para Macros do Word (docm)
No diálogo Salvar como, clique no menu suspenso Tipo de salvamento e selecione Documento Habilitado para Macros do Word (docm). Escolha um nome de arquivo e local, depois clique em Salvar. - Feche e reabra o arquivo .docm
Pressione Alt + F11 para confirmar que o módulo VBA está presente. A árvore de módulos no Project Explorer deve mostrar o módulo sob o nome do projeto.
Restaurar o Módulo a Partir de um Backup
Se você fechou o documento após salvar como .docx, o módulo foi perdido desse arquivo. Verifique estes locais para uma cópia de backup:
- Arquivo > Informações > Gerenciar Documento > Recuperar Documentos Não Salvos
O Word pode ter uma cópia salva automaticamente que ainda contém o módulo. Isso funciona apenas se um salvamento automático ocorreu antes do salvamento como .docx. - Procure por um arquivo .asd na pasta de Recuperação Automática
Vá em Arquivo > Opções > Salvar e anote o local do arquivo de Recuperação Automática. Abra essa pasta no Explorador de Arquivos e procure por arquivos com o nome do seu documento e extensão .asd. Abra qualquer candidato no Word e verifique o Editor VBA. - Restaure a partir de uma versão anterior no Histórico de Arquivos ou OneDrive
Se você tem o Histórico de Arquivos ativado ou o arquivo estava armazenado no OneDrive, clique com o botão direito no arquivo .docx no Explorador de Arquivos, selecione Propriedades, vá para a guia Versões Anteriores e abra uma versão anterior que foi salva como .docm.
Como Alterar o Formato de Salvamento Padrão para .docm
Para evitar salvamentos acidentais como .docx no futuro, altere o formato de arquivo padrão para .docm. Isso afeta todos os novos documentos.
- Abra Arquivo > Opções
Clique em Arquivo na faixa de opções, depois clique em Opções na parte inferior do painel esquerdo. - Vá para a categoria Salvar
No diálogo Opções do Word, clique em Salvar na barra lateral esquerda. - Altere o formato de arquivo padrão
Em Salvar documentos, encontre o menu suspenso rotulado Salvar arquivos neste formato. Selecione Documento Habilitado para Macros do Word (docm) na lista. - Clique em OK
Todos os novos documentos criados com Ctrl + N agora usarão .docm como padrão. Documentos existentes ainda salvam no formato original, a menos que você altere manualmente.
Se o Word Ainda Mostrar um Aviso ao Salvar como .docm
Você pode ver um aviso de segurança ao abrir um arquivo .docm de um local não confiável. Isso é normal. O arquivo ainda contém o módulo VBA. Para habilitar as macros, clique em Habilitar Conteúdo na barra de segurança amarela abaixo da faixa de opções. Se o módulo não aparecer mesmo após habilitar o conteúdo, o arquivo pode ter sido salvo como .docx em algum momento e o módulo foi removido antes de você alterar o formato.
O Word Não Avisa Antes de Remover Módulos
Alguns usuários relatam que o Word não exibe o diálogo de aviso de macro antes de salvar como .docx. Isso pode acontecer se o projeto VBA estiver protegido por senha ou se o documento foi salvo usando uma macro ou suplemento que ignora o diálogo. Nesses casos, o módulo é removido sem qualquer notificação. A única proteção é sempre salvar como .docm quando você pretende manter macros.
Um Arquivo .docx Não Pode Ser Convertido de Volta para .docm com o Módulo
Simplesmente renomear a extensão do arquivo de .docx para .docm não restaura o módulo VBA. O arquivo .docx não contém os dados do projeto VBA. Você deve recriar o módulo do zero ou restaurá-lo a partir de um backup. Para evitar isso, sempre mantenha uma cópia de backup do arquivo .docm antes de testar ou distribuir uma versão .docx.
Formatos de Documento do Word: Comparação de Retenção de Módulo VBA
| Item | .docx | .docm |
|---|---|---|
| Armazena módulos VBA | Não | Sim |
| Armazena controles ActiveX | Não | Sim |
| Armazena controles de formulário | Não | Sim |
| Formato padrão no Word 2010 e posterior | Sim | Não |
| Abre no Word Online | Sim | Não |
| Mostra aviso antes de remover macros | Sim | Não aplicável |
| Pode ser renomeado para .docm para recuperar macros | Não | Não aplicável |
Agora você pode identificar e corrigir a causa de módulos VBA ausentes após salvar no Word. Sempre salve documentos habilitados para macros como .docm. Se você salvar acidentalmente como .docx, pressione Ctrl + Z imediatamente antes de fechar o arquivo. Para alterar o formato de salvamento padrão, vá em Arquivo > Opções > Salvar e selecione Documento Habilitado para Macros do Word (docm). Mantenha um backup do seu arquivo .docm antes de distribuir uma versão .docx para outras pessoas.