Microsoft Excel

Ron de Bruin
Excel Automation

Microsoft MVP Program

Mail from Mac Excel and Outlook 2016 and up


What is changed between Office 2011 and Office 2016 and up

The legacy "MacScript" VB Command is severely limited by Apple’s sandbox requirements: it will not work correctly in most situations in Office 2016 and up. Updating the MacScript function seems to be too difficult.

Instead, Microsoft added a new VB command "AppleScriptTask" that accesses and runs an AppleScript file located outside the sandboxed app. This new approach is not as convenient: with the MacScript function you could have the script in the file itself, while with the AppleScriptTask method you need to distribute an extra file containing the script, and it must be placed in the specified location on the user’s system to have permission to run. This requires some user interaction the first time.

See this page if you want to learn more : AppleScriptTask in Office 2016 and higher for the Mac

If you use Mac Mail check out this page : Mail from Mac Excel 2016 and up with Mac Mail


Examples to mail with Mac Outlook 2016 and up

Download examples, add-in and script file in Zip format (File date : 1-Feb-2019)

Important: There is a bug in 16.39 when you send the mail directly when you set displaymail to "no", it is only working the first mail but the second and  ?  time not, they say they will update it in the next update.

Note : In the 1-Feb-2019 version there is also body html example workbook and also the add-in have this option, for this the script file is also changed. If you use a older version of the code you must not forget to replace the script file.

After you download the zip file you see 4 Excel workbooks, one add-in(version 4.0) and one script file, before we can test the code example we must copy the script file in the correct location of your Mac. You only have to do this one time. The example workbooks and the add-in use this script file, without it the examples and add-in will not work.

Note: If you use macOS Catalina replace the script file in the download above for this one : Catalina Script File

Where must I copy the file(RDBMacOutlook.scpt) with the script :

Open a Finder Window
Hold the Alt key when you press on Go in the Finder menu bar
Click on Library
Click on Application Scripts (if it exists; if not create this folder)
Click on (if it exists; if not create this folder) note: Capital letter E
Copy the script file from the download inside this folder


Test the code in the workbooks

You have download 4 workbooks, 3 of them have code examples in it so you can test. Be sure you are op to date, Look in the Excel Help menu for "Check for updates"

MacOutlookWithExcel2016.xlsm to create a mail with the ActiveSheet, Selection or WorkBook

MacOutlookWithExcel2016PDF.xlsm to create a mail with the ActiveSheet, Range or WorkBook as PDF

MacOutlookWithExcel2016HTMLBody.xlsm to create a mail with the ActiveSheet/Selection in the body

You can use workbook 4 to test the add-in, see the next part on this page.


Add-in to send the activesheet as workbook or PDF

In the download you can find also a add-in (MacOutlook2016ActiveSheetAdd-in.xlam) and a example workbook(TestworkbookForMailAddIn.xlsx) that you can use to test the options in the add-in. Go to Tools>Add-ins to browse to the add-in and select it. After you have done this you will notice the new tab named RDBMailOutlook in the Ribbon.


Please give feedback, good or bad. There is no object model for Outlook so it is trial and error to get things working in Mac Office 2016 and up.



Many thanks to Bastiaan Boertien(applescript specialist) for his help to get this working