How to Send Email with VBA on Mac Without Outlook Object Library
Question details
The user needs to automate sending emails via a VBA macro on a Mac, overcoming the limitation that the Windows-based Outlook Object Library is unavailable.

- Product
- Microsoft Office for Mac
- Device & OS
- macOS
- Scenario
- Running an Excel or Word VBA macro to automatically generate and send emails on a Mac computer.
- Observed behavior
- The VBA script fails to execute because Office for Mac does not support the standard Outlook Object Library used for email automation on Windows.
Ensure you have the default Mac Mail app configured with an active email account, as you will need to route your VBA macro through AppleScript to handle the email generation.
Use AppleScript with the Native Mac Mail App via VBA
Since the Outlook Object Library is completely absent on macOS, the recommended workaround is bridging your VBA code with AppleScript to command the native Mac Mail application.
Office for Mac operates within a sandboxed environment and does not support the COM (Component Object Model) architecture that Windows relies on for the Outlook Object Library. Instead, macOS relies on AppleScript for inter-application communication.
By utilizing the built-in 'MacScript' or the newer 'AppleScriptTask' function in VBA, you can pass instructions directly to the macOS system to construct and send an email via the built-in Mail client.
In your VBA editor, write a string variable that contains the exact AppleScript commands needed to tell the 'Mail' application to create a new message, set the recipient, subject, and content, and then send it.
For newer versions of Office for Mac (2016 and later), save your AppleScript as a standalone .scpt file in the specific user script folder (e.g., ~/Library/Application Scripts/com.microsoft.Excel). Then, use the 'AppleScriptTask' command in VBA to call this script file.
Run the macro from your workbook. The first time the script executes, macOS will prompt you to grant Excel permission to control the Mail app. Click 'OK' or 'Allow' to authorize the workflow.

Try WPS Office for a Seamless Cross-Platform Experience
Dealing with missing features and platform-specific VBA limitations in Office for Mac can be frustrating. Try WPS Office, a highly compatible and lightweight alternative that offers a robust environment for your document and spreadsheet needs without the heavy subscription fees.
- 1. Download the Mac Installer: Visit the official WPS Office website and download the macOS installation package.
- 2. Install WPS Office: Open the downloaded DMG file and drag the WPS Office icon into your Applications folder.
- 3. Open and Work Seamlessly: Launch WPS Office and directly open your existing spreadsheets and documents to enjoy smooth, compatible editing.

Frequently Asked Questions
Why does my VBA email code work on Windows but not on Mac?
Your VBA code likely relies on 'CreateObject("Outlook.Application")', which depends on the Windows Component Object Model (COM). Office for Mac does not support COM or the Outlook Object Library, making cross-platform execution of this specific code impossible.
Can I automate Outlook for Mac using AppleScript instead of the Mail app?
Yes, Outlook for Mac has its own AppleScript dictionary. However, due to continuous updates and changing Microsoft support for AppleScript in Mac Outlook, using the native Mac Mail app is often considered more stable for simple email automation.
What is the AppleScriptTask function?
AppleScriptTask is a VBA command introduced in Office 2016 for Mac. It allows VBA to securely run external AppleScript files placed in a designated, system-approved folder, bypassing the strict sandboxing limits that break older VBA commands like MacScript.




