Enable or disable macros in Office documents
This article is about macro security and explains the risks involved in enabling macros and how the Trust Center in the Microsoft Office system can help to mitigate these risks. In this article, the term "document" can mean any Microsoft Office file that can contain macros. The term "macro" means a macro created by using Visual Basic for Applications (VBA) .In this article
What is a macro and what is the security risk?
How can the Trust Center help protect me from unsafe macros?
What should I do when a security warning asks if I want to enable or disable a macro?
How do you change macro security settings for all documents in the Trust Center?
What is a macro and what is the security risk?
The purpose of a macro is to automate frequently used tasks. Although some macros are simply a recording of your keystrokes or mouse clicks, more powerful VBA macros are written by developers who use code that can run many commands on your computer. For this reason, VBA macros pose a potential security risk. A hacker can introduce a malicious macro through a document that, if opened, allows the macro to run and potentially spread a virus on your computer.
How can the Trust Center help protect me from unsafe macros?
Before allowing a macro to be enabled in a document, the Trust Center checks for the following:
- The macro is signed by the developer with a digital signature .
- The digital signature is valid .
- This digital signature is current (not expired).
- The certificate associated with the digital signature was issued by a reputable certificate authority (CA) .
- The developer who signed the macro is a trusted publisher .
If the Trust Center detects a problem with any of these, the macro is disabled by default, and the Message Bar appears to notify you of a potentially unsafe macro.
If you click Options
on the Message Bar, a security dialog box opens, giving you the option to enable the macro. See the next section for how to make a secure decision before you click an option.
Note In Microsoft Office Outlook and Microsoft Office Publisher, security alerts appear in dialog boxes, not in the Message Bar.
What should I do when a security warning asks if I want to enable or disable a macro?
When a security dialog box appears, you have the option to enable the macro or leave it disabled. You should enable the macro only if you are sure it is from a trustworthy source.
Important If you are sure the document and macro are from a trustworthy source and have a valid signature, and you do not want to be notified about them again, instead of changing the default Trust Center settings to a less safe macro security setting, you can click Trust all documents from this publisher
in the security dialog box. This adds the publisher to your Trusted Publishers list in the Trust Center. All software from that publisher is trusted. In the case where the macro doesn't have a valid signature, but you trust it and don't want to be notified again, instead of changing the default Trust Center settings to a less safe macro security setting, it is better to move the document to a trusted location. Documents in trusted locations are allowed to run without being checked by the Trust Center security system.
Depending on the situation, the security dialog box describes the specific problem. The following table lists the possible problems and offers advice on what you should or should not do in each case.
Problem | Advice |
Macro is not signed Because the macro is not digitally signed, the identity of the macro publisher cannot be verified. Therefore, it is not possible to determine if the macro is safe or not. | Before you enable unsigned macros, make sure the macro is from a trustworthy source. You can still work in your document even though you don't enable the macro. |
Macro signature is not trusted The macro is potentially unsafe, because the macro has been digitally signed, the signature is valid, and you have not chosen to trust the publisher who signed the macro. | You can explicitly trust the macro publisher by clicking Trust all documents from this publisher in the security dialog box. This option appears only if the signature is valid. Clicking this option adds the publisher to your Trusted Publishers list in the Trust Center.
|
Macro signature is invalid The macro is potentially unsafe, because the macro has been digitally signed and the signature is invalid. | We recommend that you don't enable macros with invalid signatures. One possible reason the signature is invalid is that it has been tampered with. For more information, see How to tell if a digital signature is trustworthy. |
Macro signature has expired The macro is potentially unsafe, because the macro has been digitally signed and the signature has expired. | Before enabling macros with expired signatures, make sure the macro is from a trustworthy source. If you have used this document in the past without any security issues, there is potentially less risk to enabling the macro. |
How do you change macro security settings for all documents in the Trust Center?
Macro security settings are located in the Trust Center. However, if you work in an organization, your system administrator might have changed the default setting and prevented you from changing any settings.
Note When you change your macro settings in the Trust Center, they are changed only for the Office program that you are currently using. The macro settings are not changed for all your Office programs.
Do the following in these Microsoft Office system programs:
Word, Excel, PowerPoint, or Access
- Click the
Microsoft Office Button
, and then click Program Name Options, where Program Name is the name of the program you are in, for example,
Word Options
. - Click
Trust Center
, clickTrust Center Settings
, and then clickMacro Settings
. - Click the options that you want:
Disable all macros without notification
Click this option if you don't trust macros. All macros in documents and security alerts about macros are disabled. If there are documents with unsigned macros that you do trust, you can put those documents into a trusted location. Documents in trusted locations are allowed to run without being checked by the Trust Center security system.Disable all macros with notification
This is the default setting. Click this option if you want macros to be disabled, but you want to get security alerts if there are macros present. This way, you can choose when to enable those macros on a case by case basis.Disable all macros except digitally signed macros
This setting is the same as theDisable all macros with notification
option, except that if the macro is digitally signed by a trusted publisher, the macro can run if you have already trusted the publisher. If you have not trusted the publisher, you are notified. That way, you can choose to enable those signed macros or trust the publisher. All unsigned macros are disabled without notification.Enable all macros (not recommended, potentially dangerous code can run)
Click this option to allow all macros to run. This setting makes your computer vulnerable to potentially malicious code and is not recommended.- Trust access to the VBA project object model This setting is for developers only.
Tip In Word, Excel, and PowerPoint, you can open the macro security settings dialog box from the Developer
tab in the Ribbon. If the Developer
tab is not available, click the Microsoft Office Button
, and then click Program Name Options, where Program Name is the name of the program you are in, for example,
Word Options
. Click Popular
, and then select the Show Developer tab in the Ribbon
check box.
Visio or Publisher
- On the
Tools
menu, clickTrust Center
. - Click
Macro Settings
. - Click the options that you want:
Disable all macros without notification
Click this option if you don't trust macros. All macros in documents and security alerts about macros are disabled. If there are documents with unsigned macros that you do trust, you can put those documents into a trusted location. Documents in trusted locations are allowed to run without being checked by the Trust Center security system.Disable all macros with notification
This is the default setting. Click this option if you want macros to be disabled, but you want to get security alerts if there are macros present. This way, you can choose when to enable those macros on a case by case basis.Disable all macros except digitally signed macros
This setting is the same as theDisable all macros with notification
option, except that if the macro is digitally signed by a trusted publisher, the macro can run if you have already trusted the publisher. If you have not trusted the publisher, you are notified. That way, you can choose to enable those signed macros or trust the publisher. All unsigned macros are disabled without notification.Enable all macros (not recommended, potentially dangerous code can run)
Click this option to allow all macros to run. This setting makes your computer vulnerable to potentially malicious code and is not recommended.- Trust access to the VBA project object model This setting is for developers only.
Outlook
- On the
Tools
menu, clickTrust Center
. - Click
Macro Settings
. - Click the options that you want:
No warnings and disable all macros
Click this option if you don't trust macros. All macros and security alerts about macros are disabled.Warnings for all macros
This is the default setting. Click this option if you want macros to be disabled, but you want to get security alerts if there are macros present. This way, you can choose when to enable those macros on a case by case basis.Warnings for signed macros; all unsigned macros are disabled
This setting is the same as theDisable all macros with notification
option, except that if the macro is digitally signed by a trusted publisher, the macro can run if you have already trusted the publisher. If you have not trusted the publisher, you are notified. That way, you can choose to enable those signed macros or trust the publisher. All unsigned macros are disabled without notification.No security check for macros (Not recommended)
Click this option to allow all macros to run. This setting makes your computer vulnerable to potentially malicious code and is not recommended.