Após uma atualização do Office 365, sua guia personalizada da faixa de opções criada com VBA pode desaparecer. Isso acontece porque as atualizações podem redefinir ou modificar o armazenamento de personalização da faixa de opções no Registro do Windows. Este artigo explica por que a atualização quebra a guia personalizada e fornece um método confiável para restaurá-la usando código VBA e edição manual do registro.
Principais Conclusões: Restaurando uma Guia Personalizada do VBA que Desapareceu Após uma Atualização do Office
- XML da Faixa de Opções do VBA no modelo Normal.dotm: A definição da guia personalizada deve ser armazenada no Normal.dotm para sobreviver a atualizações e redefinições de perfil do usuário.
- Chave do Registro HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options: Se a chave estiver ausente ou corrompida, a guia personalizada não será carregada; restaurá-la ou recriá-la resolve o problema.
- Arquivo > Opções > Suplementos > Gerenciar Suplementos COM > Ir: Verifique se o suplemento do projeto VBA está habilitado; um suplemento desabilitado impede que a faixa de opções personalizada apareça.
Por que as Atualizações do Office 365 Fazem as Guias Personalizadas Desaparecerem
As atualizações do Office 365 frequentemente redefinem o perfil do usuário ou modificam as entradas do registro que armazenam as personalizações da faixa de opções. O Word carrega guias personalizadas da faixa de opções a partir do elemento CustomUI dentro de um projeto VBA. Esse projeto geralmente é armazenado no modelo global Normal.dotm. Quando uma atualização é executada, ela pode substituir o Normal.dotm por uma versão nova, removendo seu código VBA e o XML da faixa de opções que define a guia personalizada.
Além disso, a atualização pode excluir ou corromper a chave do registro que informa ao Word para carregar o suplemento do projeto VBA. Sem essa chave, o Word ignora completamente seu código de faixa de opções personalizada. O problema não é que o código VBA esteja errado — é que a infraestrutura que o Word usa para carregá-lo foi alterada.
O Papel do Modelo Normal.dotm
Normal.dotm é o modelo global padrão que é carregado toda vez que o Word inicia. Qualquer código VBA armazenado em seu módulo ThisDocument com um retorno de chamada XML de faixa de opções CustomUI é aplicado a todos os documentos. Se a atualização substituir o Normal.dotm, sua guia personalizada desaparece porque o XML não está mais presente.
A Chave do Registro que Controla o Carregamento do Suplemento VBA
O Word verifica a chave do registro HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options em busca de um valor de string chamado DefaultGlobalDotName. Se esse valor estiver ausente ou apontar para um arquivo que não existe, o Word usa um Normal.dotm novo sem suas personalizações. A atualização também pode excluir a subchave VBAProject que habilita o suplemento do projeto VBA.
Passos para Restaurar a Guia Personalizada Ausente
Siga estes passos em ordem. Você precisará recriar o XML da faixa de opções no Normal.dotm e reparar a chave do registro, se necessário.
- Abra o Editor VBA e verifique o Normal.dotm
Pressione Alt+F11 para abrir o editor VBA. No Explorador de Projetos, expanda Normal e clique duas vezes em ThisDocument. Procure por código XML de faixa de opções existente. Se o módulo estiver vazio, vá para o passo 2. Se o código estiver presente, pule para o passo 3. - Insira o código XML da faixa de opções personalizada no Normal.dotm
Na janela de código do ThisDocument, cole seu XML original da faixa de opções dentro do retorno de chamadaCustomUI. O código deve usar a interfaceIRibbonUI. Um exemplo típico:Private Sub Document_Open() ' O XML da faixa de opções é armazenado no elemento CustomUI End Sub '#Region "Ribbon XML" ' Cole seu XML aqui '#End RegionSalve o Normal.dotm clicando em Arquivo > Salvar Normal.dotm.
- Verifique se o suplemento do projeto VBA está habilitado
No Word, vá em Arquivo > Opções > Suplementos. Na parte inferior, ao lado de Gerenciar, selecione Suplementos COM e clique em Ir. Certifique-se de que Projeto VBA esteja marcado. Se estiver ausente, clique em Adicionar, navegue atéC:\Program Files\Microsoft Office\root\Office16\VBAProject.dlle adicione-o. - Repare a chave do registro para o modelo global
Pressione Win+R, digiteregedite pressione Enter. Navegue atéHKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options. Clique com o botão direito no painel direito, selecione Novo > Valor da Cadeia de Caracteres, nomeie comoDefaultGlobalDotNamee defina seu valor comoNormal.dotm. Feche o Editor do Registro. - Reinicie o Word e teste a guia personalizada
Feche o Word completamente. Abra o Word novamente. Sua guia personalizada da faixa de opções deve aparecer. Se não aparecer, repita os passos 3 e 4 e reinicie o computador.
Se a Guia Personalizada Ainda Não Aparecer
Se a correção principal não funcionou, um destes problemas relacionados pode estar bloqueando a guia personalizada.
O Word Desabilita Macros VBA Após a Atualização
As atualizações do Office 365 às vezes alteram as configurações de segurança de macro. Vá em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Configurações de Macro. Selecione Habilitar todas as macros (não recomendado para uso a longo prazo) ou Habilitar macros VBA (não recomendado; códigos potencialmente perigosos podem ser executados). Clique em OK e reinicie o Word.
O XML da Faixa de Opções Personalizada Contém um Erro
Um atributo XML inválido ou um procedimento de retorno de chamada ausente impede que a faixa de opções seja carregada. No editor VBA, pressione Ctrl+G para abrir a janela Imediato. Digite Debug.Print Application.CommandBars.GetPressedMso "RibbonXML" e pressione Enter. Se você vir uma mensagem de erro, corrija a sintaxe do XML. Erros comuns incluem tags incompatíveis ou nomes de retorno de chamada onAction incorretos.
Outro Suplemento Entra em Conflito com a Faixa de Opções Personalizada
Suplementos de terceiros podem substituir guias personalizadas da faixa de opções. Inicie o Word no modo de segurança pressionando Ctrl e clicando duas vezes no ícone do Word. Clique em Sim quando solicitado. Se a guia personalizada aparecer no modo de segurança, desabilite os suplementos um por um em Arquivo > Opções > Suplementos > Gerenciar Suplementos COM > Ir até identificar o conflito.
Comparação de Métodos para Armazenar XML da Faixa de Opções Personalizada
| Item | Normal.dotm (Recomendado) | VBA Específico do Documento |
|---|---|---|
| Persistência após atualização do Office | Sobrevive se o modelo não for substituído | Perdido se o documento não for aberto |
| Escopo da guia personalizada | Disponível em todos os documentos | Apenas naquele documento específico |
| Dependência do registro | Requer a chave DefaultGlobalDotName | Sem dependência do registro |
| Facilidade de backup | Faça backup do arquivo Normal.dotm | Faça backup do arquivo .docm |
Armazenar o XML da faixa de opções no Normal.dotm é o método mais confiável para uma guia personalizada que deve sobreviver a atualizações do Office. O armazenamento específico do documento é mais simples, mas não fornece acesso global.
Agora você pode restaurar uma guia personalizada ausente recriando o XML no Normal.dotm, habilitando o suplemento do projeto VBA e reparando a chave do registro. Após a correção, faça backup do seu arquivo Normal.dotm em um local seguro. Como dica avançada, use o método IRibbonUI.Invalidate em seu código VBA para forçar o recarregamento da faixa de opções após qualquer atualização, evitando que a guia desapareça novamente.