Set preferences for macro security in Office for Mac

Applies to: Office for Mac, Office LTSC for Mac 2021, Office 2019 for Mac

As an IT admin, you may want to provide Mac users in your organization with a standard set of preferences for Office in either of the following ways:

  • Set a default setting, which users can change.
  • Force a particular setting, which users can't change.

The following preferences can be used to improve security posture and help protect company data.

These keys are CFPreferences-compatible, which means that they can be set by using enterprise management software for Mac, such as Jamf Pro.

Visual Basic macro notifications

Controls whether macros are allowed to run, and what the user experience is when opening a file that contains a macro.

Shows the macro security options for Security & Privacy.

Category Details
Domain
com.microsoft.office
Key
VisualBasicMacroExecutionState
Data Type
String
Possible values
DisabledWithWarnings (default)
DisabledWithoutWarnings
EnabledWithoutWarnings (not recommended)
Apps
Word, Excel, PowerPoint
Availability
15.33
Comments
The user interface will be disabled if this preference is set via a Configuration Profile.

VBA object model

Set the ability for macros to modify Visual Basic projects.

Category Details
Domain
com.microsoft.office
Key
VBAObjectModelIsTrusted
Data Type
Boolean
Possible values
false (default)
true
Apps
Word, Excel, PowerPoint
Availability
16.21
Comments
To improve security, forcibly set this value to false via a Configuration Profile.

Visual Basic system bindings

Set the ability for Visual Basic macros to use DECLARE via the system() API.

Category Details
Domain
com.microsoft.office
Key
AllowVisualBasicToBindToSystem
Data Type
Boolean
Possible values
false (default)
true
Apps
Word, Excel, PowerPoint
Availability
15.31
Comments
To improve security, forcibly set this value to false via a Configuration Profile.

Visual Basic external library bindings

Set the ability for Visual Basic macros to utilize third-party dynamic libraries.

Category Details
Domain
com.microsoft.office
Key
DisableVisualBasicExternalDylibs
Data Type
Boolean
Possible values
false (default)
true
Apps
Word, Excel, PowerPoint
Availability
15.31
Comments
Unless third-party extensions are being used, set this value to true via a Configuration Profile to improve security.

Visual Basic pipe bindings

Set the ability for Visual Basic macros to communicate with other processes through pipes.

Category Details
Domain
com.microsoft.office
Key
DisableVisualBasicToBindToPopen
Data Type
Boolean
Possible values
false (default)
true
Apps
Word, Excel, PowerPoint
Availability
16.16
Comments
Unless third-party extensions are being used, set this value to true via a Configuration Profile to improve security.

Visual Basic and AppleScript

Set the ability for Visual Basic macros to invoke AppleScript.

Category Details
Domain
com.microsoft.office
Key
DisableVisualBasicMacScript
Data Type
Boolean
Possible values
false (default)
true
Apps
Word, Excel, PowerPoint
Availability
16.16
Comments
To improve security, set this value to false via a Configuration Profile.

Disable Visual Basic

Prevent all Visual Basic code from running - even from trusted locations like the default template.

Category Details
Domain
com.microsoft.office
Key
VisualBasicEntirelyDisabled
Data Type
Boolean
Possible values
false (default)
true
Apps
Word, Excel, PowerPoint
Availability
16.32
Comments
Unless third-party extensions are being used, set this value to true via a Configuration Profile to improve security.