Corrigir Módulo VBA do Word que Desaparece ao Salvar como .docx em vez de .docm
🔍 WiseChecker

Corrigir Módulo VBA do Word que Desaparece ao Salvar como .docx em vez de .docm

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

ADVERTISEMENT

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

  1. 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.
  2. Pressione F12 para abrir Salvar como
    Não use Ctrl + S. O diálogo Salvar como permite escolher o formato correto.
  3. 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.
  4. 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:

  1. 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.
  2. 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.
  3. 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.

ADVERTISEMENT

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.

  1. Abra Arquivo > Opções
    Clique em Arquivo na faixa de opções, depois clique em Opções na parte inferior do painel esquerdo.
  2. Vá para a categoria Salvar
    No diálogo Opções do Word, clique em Salvar na barra lateral esquerda.
  3. 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.
  4. 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.

ADVERTISEMENT

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.

ADVERTISEMENT