Edit

Share via


Set preferences for macro security in Office for Mac

Applies to: Microsoft 365 for Mac, Office Long Term Service Channel (LTSC) for Mac 2024, LTSC for Mac 2021

As an IT admin, you can provide Mac users with a standard set of Office preferences in these 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.

Screenshot of the Security & Privacy settings window for Office for Mac, showing Macro Security and Privacy options.

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 is 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 non-Microsoft 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 non-Microsoft 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 non-Microsoft 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 non-Microsoft extensions are being used, set this value to true via a Configuration Profile to improve security.