Mac Excel 2011 vs 2016

    Microsoft Excel has been used by millions and evolving for decades. There are two major releases of Excel for macOS computers that support VBA and can be used as a development platform for protected, licensed applications.

    • Mac Excel 2011 introduced VBA support and in many ways is most similar to the Excel environment running on Windows. It supports most Excel workbook features and VBA code can access the macOS file system using Carbon style file paths.

    • Mac Excel 2016 is a "sandboxed" edition of Excel. Although some Excel workbook features have been modernized, in some ways it has been a setback for developers that use Excel as an application development platform. VBA uses Cocoa style file paths. Since Excel runs in a sandbox, VBA functions need users to grant permission when reading and writing files to share data with other applications.

    AppProtect and QuickLicense can generate a Mac APP file that works with either Mac Excel 2011 or 2016 using the popular Encrypted XLSM Approach.

    QuickLicense also supports the VBA Bound License approach. With this approach, a few extra steps are needed during the install process (or handled by a Setup program) to prevent excessive Grant Permission requests in the user experience. OfficeProtect user documentation describes how to handle this.

    Instruct the user to enable Macros in the Preferences dialog before running your application.

    • Mac Excel 2011 - Open the Preferences dialog from the File menu, then click to see the Security panel. Clear the Warn before opening checkbox.

    • Mac Excel 2016 - Open the Preferences dialog from the Excel menu, then click the Security & Privacy panel. Select the Enable all macros radio button.

Office 365 Bug

    Mac Excel 2016 and later versions are included with an Office 365 subscription. In late 2018, a VBA related bug was introduced in Excel. The bug causes a fatal exception when running some VBA commands. This affects protected applications built from Excel using OfficeProtect 3.0.4 and earlier and some unprotected workbooks that use VBA.

    QuickLicense 9.0.3 and OfficeProtect 4.0 on macOS introduced an effective work-around to this Excel bug as described below.

    The bug is known to occur in version 16.16.x and not occur in older versions like 16.12. Microsoft indicated that they are aware of the problem and working on a solution. Microsoft recommends installing an older version of Excel.

    Here is the link to install a known working edition of Mac Excel if you have Office 365:

    Excel Installer without VBA Bug

    Before installing, you’ll need to drag your Excel app from the Applications folder to the trash and empty the trash. If you have a launch icon in the Dock, remove that too.

    After installing, Excel will likely hang up the first time you run it. Now force quit Excel from the Finder menu. Run Excel again and it should work fine thereafter.

    Disable Microsoft Auto-Update

    When running an Excel workbook, users must be extremely vigilent to avoid the periodic notifications and popup requests to upgrade Excel. Otherwise, the user will unknowingly install the buggy version of Excel again. That starts a long process to restore a stable Excel environment.

    Click the Check for Updates button displayed in a workbook to present the Microsoft AutoUpdate screen. Make sure the Manually Check radio button is selected.

Office 365 Bug Workaround

    OfficeProtect 4.0 and QuickLicense 9.0.3 on macOS introduced an effective work-around to this Excel VBA bug. The bug fix consists of enhancements to the VBA code that is pasted into a workbook to prepare it for wrapping into an APP file with AddLicense. The AddLicense runtime software also contributes to that bug fix. While the Excel VBA bug still exists as of late 2019, the user of newly created workbook applications should not be affected.

    Developers using a VBA Bound License will also want to use the enhanced VBA code provided with OfficeProtect 4.0. To support Mac Catalina, a new SetupExcelSandbox app is included with OfficeProtect 4.0.