Macros do Excel Pararam de Funcionar Após a Descontinuação do VBScript: Correção para a Versão 2508
🔍 WiseChecker

Macros do Excel Pararam de Funcionar Após a Descontinuação do VBScript: Correção para a Versão 2508

Suas macros do Excel podem ter parado de funcionar de repente após uma atualização recente. Isso é causado pela descontinuação do mecanismo VBScript legado no Windows. A mudança afeta macros que dependem do VBScript para certas tarefas de automação. Este artigo explica a causa técnica e fornece etapas para restaurar a funcionalidade das macros. Você aprenderá como reativar os componentes necessários e atualizar seu código de macro.

Principais Conclusões: Restaurando a Funcionalidade das Macros Após a Descontinuação do VBScript

  • Recurso do Windows: VBScript: Este mecanismo de script legado agora está desabilitado por padrão no Windows 11 e Windows 10, quebrando macros que o chamam.
  • Desenvolvedor > Macros > Editar: Use este caminho para abrir o editor do Visual Basic for Applications e revisar seu código de macro em busca de chamadas VBScript.
  • Caixa de diálogo Recursos do Windows: Reativar o recurso VBScript aqui é uma solução temporária para fazer as macros funcionarem novamente.

Por que a Descontinuação do VBScript Quebra as Macros do Excel

A Microsoft começou a eliminar gradualmente o VBScript como uma medida de segurança e modernização. A partir do Windows 11 versão 24H2 e atualizações recentes do Windows 10, o mecanismo VBScript é desabilitado por padrão. Essa mudança faz parte de uma descontinuação mais ampla anunciada para versões futuras do Windows. O Excel em si não usa VBScript para seu mecanismo de macro principal, que é o Visual Basic for Applications.

O problema ocorre quando uma macro VBA contém código que chama explicitamente o mecanismo VBScript externo. Exemplos comuns incluem o uso do VBScript “FileSystemObject” para operações avançadas de arquivo, a execução de um arquivo de script `.vbs` de dentro do VBA, ou o uso de `CreateObject(“Scripting.FileSystemObject”)`. Quando a macro executa esta linha, ela falha porque o componente necessário do Windows não está mais ativo. A mensagem de erro é geralmente genérica, como “Erro de tempo de execução 429: O componente ActiveX não pode criar objeto.”

Identificando Macros Afetadas

Macros que você criou ou baixou há anos estão mais em risco. Elas podem ter sido escritas quando o VBScript era o método padrão para tarefas que o VBA lidava mal. Se sua macro interage intensamente com o sistema de arquivos do Windows, lê arquivos de texto ou manipula o Registro do Windows, ela provavelmente usa objetos VBScript. A falha será consistente após a atualização para o Excel versão 2508 ou uma atualização correspondente do Windows que imponha a descontinuação.

Etapas para Reativar o VBScript e Corrigir Macros

A correção imediata é reativar o recurso VBScript no Windows. Esta é uma solução temporária. A solução permanente é atualizar seu código de macro para usar métodos VBA puros.

Método 1: Ativar o VBScript nos Recursos do Windows

  1. Abra os Recursos do Windows
    Clique no menu Iniciar e digite “Ativar ou desativar recursos do Windows”. Selecione o resultado do Painel de Controle que aparecer.
  2. Localize a Opção VBScript
    Na caixa de diálogo Recursos do Windows, role a lista para baixo. Encontre a entrada chamada “VBScript”. A caixa de seleção estará vazia.
  3. Ative o Recurso
    Clique na caixa de seleção ao lado de “VBScript” para marcá-la. Clique no botão OK. O Windows aplicará a alteração e pode solicitar que você reinicie o computador.
  4. Teste Sua Macro
    Após reiniciar, abra o Excel e a pasta de trabalho que contém a macro. Execute a macro para confirmar que agora ela é executada sem o erro ActiveX.

Método 2: Atualizar Seu Código de Macro VBA

  1. Abra o Editor VBA
    No Excel, vá para a guia Desenvolvedor. Clique no botão Macros, selecione sua macro e clique em Editar. Isso abre a janela do Microsoft Visual Basic for Applications.
  2. Encontre Dependências do VBScript
    Use a função de pesquisa (Ctrl + F) dentro do módulo de código. Pesquise por palavras-chave como “Scripting”, “FileSystemObject”, “.vbs” ou “CreateObject”.
  3. Substitua por Equivalentes VBA
    Substitua chamadas VBScript FileSystemObject por instruções VBA nativas. Por exemplo, use `Open` e `Line Input` para arquivos de texto em vez de `FileSystemObject`. Use a função `Dir` para listagens de arquivos. Para edições no Registro, use `VBA.CreateObject` com chamadas apropriadas da API do Windows, se absolutamente necessário.
  4. Teste a Macro Atualizada
    Feche o editor VBA e salve sua pasta de trabalho. Execute a macro novamente. Agora ela deve funcionar usando apenas VBA, tornando-se à prova de futuro.

Se Sua Macro Ainda Falhar Após Essas Etapas

A Macro Retorna um Erro de Automação Diferente

Se ativar o VBScript não corrigir o erro 429, o problema pode ser mais profundo. A macro pode depender de outro controle ActiveX obsoleto. Abra o editor VBA e vá em Ferramentas > Referências. Procure por referências ausentes marcadas como “AUSENTE”. Desmarque essas referências. Sua macro pode precisar de uma reescrita completa se sua biblioteca principal não estiver mais disponível.

O Excel Mostra a Mensagem “Macros Estão Desabilitadas”

Esta é uma configuração de segurança separada. A descontinuação do VBScript não afeta a Central de Confiabilidade do Excel. Vá em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Configurações de Macro. Selecione “Habilitar todas as macros” para teste, ou “Desabilitar todas as macros com notificação” para uso normal. Salve e reinicie o Excel.

A Política de TI da Empresa Bloqueia a Ativação de Recursos do Windows

Em ambientes corporativos gerenciados, você pode não ter permissão para acessar a caixa de diálogo Recursos do Windows. Entre em contato com sua equipe de suporte de TI. Forneça a eles o nome específico da macro e a razão de negócios pela qual ela é necessária. Eles podem enviar uma política de grupo para reativar o VBScript em sua máquina ou aprovar a atualização do código.

Soluções Temporárias vs. Atualização de Código: Principais Diferenças

Item Reativar VBScript no Windows Atualizar Código da Macro para VBA Puro
Solução de longo prazo Não, o recurso será removido Sim, código à prova de futuro
Postura de segurança Reintroduz um risco obsoleto Mantém a segurança moderna
Nível de habilidade necessário Administração básica do Windows Edição VBA intermediária
Investimento de tempo 5 minutos 30 minutos a várias horas
Impacto em outros usuários Afeta apenas seu PC A pasta de trabalho atualizada funciona para todos

Agora você pode executar macros que foram quebradas pela atualização recente do Windows. Use a solução de Recursos do Windows para necessidades imediatas, mas planeje atualizar seu código VBA. Explore o navegador de objetos do editor VBA pressionando F2 para ver todos os métodos nativos disponíveis. Para operações complexas de arquivo, considere gravar uma nova macro para ver a sintaxe VBA moderna que o Excel gera.