Are VBA Macros in New Outlook? Current Support Status and Workaround
🔍 WiseChecker

Are VBA Macros in New Outlook? Current Support Status and Workaround

Many business users rely on VBA macros to automate repetitive tasks in classic Outlook, such as moving emails to folders or sending automatic replies. The new Outlook for Windows, built on a web-based platform, does not support VBA macros. This article explains why VBA macros are absent in new Outlook, describes the current status of scripting support, and provides practical workarounds to restore automation capabilities.

If you have moved to new Outlook and found your macros no longer run, you are not alone. Microsoft has confirmed that VBA is not available in the new client. Instead, you can use alternative tools like Power Automate, COM add-ins, or script-based solutions to achieve similar results. This guide covers each option and helps you choose the right one for your workflow.

Key Takeaways: VBA Macros in New Outlook

  • New Outlook does not run VBA macros: The web-based architecture blocks all VBA code, so macros from classic Outlook will not execute.
  • Power Automate is the primary replacement: You can build automated workflows for email handling, notifications, and data entry without writing code.
  • Switch back to classic Outlook if VBA is essential: You can re-enable the classic Outlook client through the toggle in the top-right corner of new Outlook.

ADVERTISEMENT

Why New Outlook Does Not Support VBA Macros

New Outlook for Windows is built using web technologies (HTML, CSS, JavaScript) and runs inside a Microsoft Edge WebView2 container. This architecture does not include the VBA runtime engine that classic Outlook uses. VBA macros rely on the Component Object Model (COM) and direct access to the Outlook object model, which is not available in the web-based environment.

Microsoft has stated that VBA support would require a significant rewrite of the new Outlook codebase and that the company is focusing on alternative extensibility methods. As of April 2025, there is no public roadmap for adding VBA to new Outlook. Users who require VBA must either stay on classic Outlook or adopt the workarounds described below.

What About Office Scripts?

Office Scripts are a JavaScript-based automation tool for Excel and Power Automate, but they do not work in Outlook. Microsoft has not announced any plan to bring Office Scripts to Outlook. Therefore, the only official automation path for new Outlook is Power Automate.

Workarounds to Automate Tasks in New Outlook

If you need to automate email actions in new Outlook, use one of these methods. Each workaround replaces a common VBA macro scenario.

Method 1: Use Power Automate Flows

Power Automate (formerly Microsoft Flow) connects new Outlook to hundreds of services. You can create flows that trigger on incoming emails, scheduled times, or manual actions.

  1. Open Power Automate
    Go to make.powerautomate.com and sign in with your Microsoft 365 work or school account.
  2. Create a new automated flow
    Click Create and select Automated cloud flow. Choose a trigger such as When a new email arrives (V3) from the Outlook connector.
  3. Configure the trigger
    Select the folder to monitor (Inbox by default) and set any filters like sender address or subject keywords. Click Create.
  4. Add an action
    Click New step and search for an action. For example, to move the email, select Move email (V2) and choose the destination folder. To send a reply, select Send email (V2) and compose the message.
  5. Save and test
    Click Save then Test. Send a test email to your mailbox and verify the flow runs correctly.

Method 2: Use COM Add-ins (Classic Outlook Only)

If you have a COM add-in that provides macro-like functionality, it will only work in classic Outlook. You can temporarily switch to classic Outlook to run the add-in, then switch back.

  1. Toggle to classic Outlook
    In new Outlook, click the Try the new Outlook toggle in the top-right corner and turn it off. The application will restart in classic mode.
  2. Run your COM add-in
    Open the add-in from the ribbon or its custom menu. Perform the automated task.
  3. Toggle back to new Outlook
    Click the toggle again to re-enable new Outlook. Note that any changes made in classic Outlook (such as moved emails) will persist.

Method 3: Use Third-Party Email Automation Tools

Several third-party tools can automate new Outlook by simulating user actions or integrating via Microsoft Graph API. Examples include AutoHotkey (desktop automation) and scripts that call the Microsoft Graph API directly.

  1. Install AutoHotkey
    Download and install AutoHotkey from the official website. Write a script that sends keystrokes or clicks to new Outlook windows.
  2. Call Microsoft Graph API
    Register an app in Azure AD, grant the Mail.ReadWrite permission, and use PowerShell or Python to send requests. For example, to move an email, send a PATCH request to /users/{id}/messages/{messageId}.

ADVERTISEMENT

Common Issues and Limitations

Power Automate Flow Does Not Trigger

If a Power Automate flow does not run when a new email arrives, check the trigger folder. The When a new email arrives (V3) trigger monitors the Inbox only. If you need to monitor a subfolder, use the When a new email arrives in a folder (V3) trigger instead. Also verify that the flow is turned on and your Microsoft 365 license includes Power Automate.

Cannot Access VBA Macros from Classic Outlook

VBA macros are stored in the classic Outlook VBAProject.OTM file. This file is not loaded in new Outlook. Even if you copy the .OTM file to the new Outlook folder, the application will ignore it. The only way to use those macros is to switch to classic Outlook.

Third-Party Tool Blocked by Security Policies

Some organizations block third-party automation tools or Graph API access. Contact your IT administrator to request an exception or to enable Power Automate for your tenant.

New Outlook vs Classic Outlook: Automation Capabilities

Item New Outlook Classic Outlook
VBA macros Not supported Full support
Power Automate Supported via built-in connector Supported via built-in connector
COM add-ins Not supported Full support
Office Scripts Not supported Not supported
Graph API Supported via external scripts Supported via external scripts

New Outlook lacks VBA and COM add-in support but offers Power Automate integration. Classic Outlook supports all automation methods. If your organization relies heavily on VBA, you should remain on classic Outlook until Microsoft adds scripting to new Outlook.

You now know that new Outlook does not support VBA macros and why this limitation exists. Use Power Automate flows for email automation, or switch back to classic Outlook if you need to run existing VBA macros. For advanced automation, consider calling the Microsoft Graph API from a PowerShell script. As a next step, review your current VBA macro list and identify which tasks can be replaced with a Power Automate flow.

ADVERTISEMENT