Nova Lacuna de Automação do Modelo de Objetos do Outlook para Usuários do Outlook Clássico: Alternativas
🔍 WiseChecker

Nova Lacuna de Automação do Modelo de Objetos do Outlook para Usuários do Outlook Clássico: Alternativas

Usuários do Outlook clássico que dependem de macros VBA ou add-ins COM para automatizar tarefas como enviar e-mails, processar itens de calendário ou gerenciar contatos enfrentam uma lacuna significativa no novo Outlook para Windows. O novo Outlook não oferece suporte ao Modelo de Objetos do Outlook (OOM) usado por macros clássicas e muitos add-ins de terceiros. Este artigo explica os motivos técnicos dessa lacuna e fornece métodos alternativos para automatizar fluxos de trabalho no novo Outlook.

O novo Outlook é construído em uma plataforma baseada na web que não expõe as mesmas interfaces COM do cliente Win32 clássico. A Microsoft não portou o OOM para a nova arquitetura. Como resultado, scripts e add-ins que chamam objetos como Application, Namespace ou outros objetos principais do OOM não serão executados. Este artigo aborda várias alternativas, incluindo Microsoft Graph API, Power Automate e web add-ins que funcionam com o novo Outlook.

Você aprenderá a identificar quais métodos de automação ainda funcionam no novo Outlook e como migrar suas tarefas mais comuns para tecnologias compatíveis. O foco está em etapas práticas para usuários corporativos e administradores de TI que precisam manter a produtividade após migrar para o novo Outlook.

Principais Conclusões: Automatizando Tarefas no Novo Outlook Sem VBA

  • Microsoft Graph API: Substitui a maioria das operações do OOM para enviar e-mails, gerenciar calendários e acessar contatos usando chamadas REST.
  • Power Automate: Fornece fluxos de automação baseados em nuvem que disparam em novos e-mails, eventos de calendário ou alterações em arquivos sem escrever código.
  • Web add-ins (Office.js): Executam dentro do novo Outlook para estender a funcionalidade usando JavaScript e HTML em vez de VBA.

ADVERTISEMENT

Por que o Novo Outlook Não Suporta o Modelo de Objetos Clássico

O Outlook clássico para Windows usa o subsistema MAPI e um modelo de objetos baseado em COM que permite que código externo controle o aplicativo. Macros VBA são executadas no mesmo processo e têm acesso total ao OOM, que inclui objetos como Application, NameSpace, Explorer e Inspector. Add-ins criados com Add-in Express ou VSTO também dependem dessas interfaces.

O novo Outlook para Windows é construído na mesma tecnologia do Outlook na web (OWA). Ele usa um mecanismo de renderização web e se comunica com o Exchange Online por meio de APIs REST. Essa arquitetura não expõe interfaces COM. A Microsoft afirmou que o novo Outlook não oferecerá suporte a macros VBA ou add-ins COM. A empresa recomenda o uso de web add-ins criados com a API JavaScript do Office (Office.js) ou ferramentas de automação baseadas em nuvem.

Objetos Principais que Não Estão Disponíveis

Os seguintes objetos e métodos do OOM não funcionam no novo Outlook:

  • Application.ActiveExplorer
  • NameSpace.Folders
  • MailItem.Send
  • AppointmentItem.Save
  • Inspector.CurrentItem
  • Add-ins COM registrados no Registro do Windows em HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins

Qualquer script ou add-in que chame esses ou objetos semelhantes produzirá um erro ou falhará silenciosamente. A única exceção é que o novo Outlook ainda oferece suporte a um conjunto limitado de add-ins COM que foram reescritos especificamente para a plataforma web, mas esses são raros.

Métodos Alternativos para Automatizar Tarefas no Novo Outlook

Existem três alternativas principais para usuários que precisam automatizar tarefas do Outlook: Microsoft Graph API, Power Automate e web add-ins. Cada método cobre cenários diferentes. A tabela na próxima seção os compara diretamente.

Usando a Microsoft Graph API

O Microsoft Graph é uma API RESTful que fornece acesso a e-mails, calendário, contatos e tarefas no Exchange Online. Funciona com qualquer linguagem de programação ou ferramenta que possa enviar solicitações HTTP. O Graph não requer que o cliente Outlook esteja em execução.

  1. Registre um aplicativo no Azure Active Directory
    Acesse o portal do Azure, selecione Registros de aplicativo e crie um novo aplicativo. Anote a ID do Aplicativo (cliente) e a ID do Diretório (locatário).
  2. Configure permissões de API
    Em Permissões de API, adicione permissões delegadas do Microsoft Graph, como Mail.Send, Mail.Read, Calendars.ReadWrite e Contacts.ReadWrite. Conceda consentimento do administrador, se necessário.
  3. Autentique e obtenha um token de acesso
    Use o fluxo de código de autorização OAuth 2.0 ou o fluxo de credenciais do cliente para obter um token. O token deve incluir os escopos configurados.
  4. Faça chamadas REST para os endpoints do Graph
    Por exemplo, para enviar um e-mail, faça um POST para https://graph.microsoft.com/v1.0/me/sendMail com um corpo JSON contendo a mensagem. Para listar eventos do calendário, faça um GET para https://graph.microsoft.com/v1.0/me/events.
  5. Lide com respostas e erros
    Analise a resposta JSON. O Graph retorna códigos de status HTTP e objetos de erro. Use lógica de repetição para solicitações limitadas.

A Graph API é ideal para automação no lado do servidor, tarefas agendadas e integração com outros aplicativos de negócios. Não requer que o usuário esteja conectado ao Outlook.

Usando o Power Automate

O Power Automate (anteriormente Microsoft Flow) fornece conectores pré-criados para Outlook e Office 365. Você pode criar fluxos que disparam em novos e-mails, eventos de calendário ou alterações em arquivos sem escrever código.

  1. Abra o Power Automate
    Acesse https://make.powerautomate.com e faça login com sua conta corporativa ou de estudante.
  2. Crie um novo fluxo automatizado
    Selecione Criar > Fluxo automatizado em nuvem. Escolha um gatilho como Quando um novo e-mail chega (V3) ou Quando um evento é criado (V3).
  3. Adicione uma ação
    Clique em Nova etapa e pesquise por Outlook. Selecione uma ação como Enviar um e-mail (V2) ou Criar um evento de calendário. Configure os parâmetros como destinatário, assunto e corpo.
  4. Teste o fluxo
    Clique em Testar, selecione Manualmente e execute a ação do gatilho. Verifique se o fluxo é executado e produz o resultado esperado.
  5. Ative o fluxo
    Após o teste, defina o fluxo como Ativado. Ele será executado automaticamente quando a condição do gatilho for atendida.

O Power Automate oferece suporte a condições, loops e ramificações paralelas. É a melhor opção para usuários de negócios que não são desenvolvedores.

Criando Web Add-ins com Office.js

Os web add-ins são executados dentro do novo cliente Outlook. Eles são criados com HTML, CSS e JavaScript usando a biblioteca Office.js. Esses add-ins podem ler e gravar itens de e-mail, eventos de calendário e contatos, mas não podem acessar o sistema de arquivos ou recursos locais.

  1. Configure um ambiente de desenvolvimento
    Instale o Node.js e o gerador Yeoman para add-ins do Office. Execute npm install -g yo generator-office.
  2. Gere um projeto de add-in
    Execute yo office e selecione Add-in do Outlook. Escolha o tipo de manifesto (XML ou Teams). Forneça um nome e uma descrição.
  3. Escreva o código do add-in
    Edite o arquivo JavaScript para usar as APIs do Office.js. Por exemplo, Office.context.mailbox.item.body.setAsync para modificar o corpo do e-mail, ou Office.context.mailbox.item.to.getAsync para ler os destinatários.
  4. Carregue o add-in lateralmente
    No Outlook, vá para Obter Add-ins > Meus add-ins > Add-ins personalizados > Adicionar do arquivo. Selecione o arquivo de manifesto XML do seu projeto.
  5. Publique no AppSource
    Para uso em produção, envie o add-in para o AppSource ou implante-o via implantação centralizada no centro de administração do Microsoft 365.

Os web add-ins são a única maneira de estender o próprio cliente do novo Outlook com botões de interface personalizados, painéis de tarefas e diálogos. Eles são limitados a ações que a API Office.js suporta.

ADVERTISEMENT

Problemas Comuns de Migração e Soluções Alternativas

Macros VBA que são executadas na inicialização ou enviam e-mails automaticamente

Macros VBA que usam Application_Startup ou SendKeys não serão executadas no novo Outlook. Substitua-as por um fluxo do Power Automate que dispare em um agendamento ou em novo e-mail. Para enviar respostas automáticas, use uma regra do Outlook com um modelo no Outlook clássico, ou use a Graph API para enviar mensagens de um processo de servidor.

Add-ins COM personalizados que modificam a faixa de opções ou leem itens

Add-ins COM que adicionam botões à faixa de opções ou interceptam eventos de itens devem ser reescritos como web add-ins. A API Office.js fornece personalização da faixa de opções através do objeto Office.ribbon e leitura de itens através de Office.context.mailbox.item. Nem todos os recursos de add-ins COM têm equivalentes diretos; verifique os conjuntos de requisitos do Office.js antes de iniciar uma reescrita.

Scripts que acessam arquivos PST locais ou pastas locais

O novo Outlook não pode abrir arquivos PST. Se sua automação lê dados de um PST, você deve migrar os dados para uma caixa de correio do Exchange Online ou uma lista do SharePoint. Use a Graph API para acessar o conteúdo da caixa de correio em vez de arquivos locais. Para arquivos, armazene-os em uma caixa de correio de arquivo morto do Exchange Online.

Comparação de Métodos de Automação para o Novo Outlook

Item Microsoft Graph API Power Automate
Nível de habilidade necessário Desenvolvedor (REST, OAuth) Usuário de negócios (sem código)
Executa sem o Outlook aberto Sim Sim
Suporta envio de e-mail Sim Sim
Suporta leitura de calendário Sim Sim
Interface personalizada dentro do Outlook Não Não
Acesso a dados locais Não (apenas nuvem) Via gateway local
Custo Incluso no Microsoft 365 Incluso no Microsoft 365 (fluxos limitados)

Os web add-ins não estão incluídos nesta tabela porque servem a um propósito diferente: estender a interface do Outlook em vez de automatizar tarefas no servidor. Para extensões de interface, os web add-ins são a única opção no novo Outlook.

O novo Outlook para Windows não oferece suporte a macros VBA ou add-ins COM. Você pode automatizar tarefas usando a Microsoft Graph API, Power Automate ou web add-ins criados com Office.js. A Graph API é melhor para desenvolvedores que precisam de automação no servidor. O Power Automate é melhor para usuários de negócios que desejam fluxos sem código. Os web add-ins são melhores para adicionar elementos de interface personalizados ao novo cliente Outlook. Comece identificando suas tarefas de automação mais críticas e mapeando-as para uma dessas três alternativas. Para um teste rápido, tente criar um fluxo do Power Automate que envie um e-mail quando uma condição específica for atendida.

ADVERTISEMENT