Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

A macro that is contained in an encrypted Office Open XML file does not run in 2007 Office programs


View products that this article applies to.

Symptoms

In one of the 2007 Microsoft Office programs that are listed in the "Applies to" section, when you try to run a macro that is contained in an encrypted Office Open XML file, such as an .xlsm file, a .docm file, or a .pptxm file, the macro does not run as expected. This behavior does not occur for files that are saved in the "Microsoft Office 97 - 2003" file format.

Note An encrypted file is a file that you protect by using any of the following methods:
  • Password protection
  • Information Rights Management (IRM)
  • Workbook protection in Microsoft Office Excel 2007

↑ Back to the top


Cause

This behavior occurs if the computer is not running an active antivirus program that supports the scanning of encrypted content as supported by the Microsoft Antivirus API. In this case, macros are disabled in encrypted Office Open XML files.

Also, macros may be disabled in the file by the security settings in the program. If macros are disabled by the security settings, you receive the following error message when you try to open the file:
Security Alert Macros have been disabled
.
To enable the macros, click Options , click Enable this content, and then click OK. However, if you enable the macros, the behavior that is mentioned in the "Symptoms" section still occurs.
Security Alert This file contains encrypted macros that have been disabled because there is no antivirus software installed that can scan them. To run these macros, remove the encryption or permission restrictions on this file. File Path: <path and name of file> Help protect me from unknown content (recommended) <More information> Prevent encrypted macros from being scanned for viruses.

The 2007 Office release provides several settings that enable you to prevent encrypted macros from being scanned for viruses. This is useful if your virus-scanning program does not support the Microsoft Antivirus application programming interface (API).

By default, macros are encrypted when you encrypt and save a file in the Office Open XML file formats. If your virus-scanning program does not support the Microsoft Antivirus API, your virus-scanning program cannot scan encrypted macros. Therefore, encrypted macros will be disabled.

↑ Back to the top


Resolution

To resolve this behavior, install 'The 2007 Microsoft Office Suite Service Pack 2 (SP2) which can be downloaded from the Microsoft Download Center at http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b444bf18-79ea-46c6-8a81-9db49b4ab6e5

↑ Back to the top


Workaround

Warning This workaround may make a computer or a network more vulnerable to attack by malicious users or by malicious software such as viruses. We do not recommend this workaround but are providing this information so that you can implement this workaround at your own discretion. Use this workaround at your own risk.

To work around this issue, disable antivirus scanning on encrypted files that contain macros. To do this, follow these steps:
  1. Exit the 2007 Office programs.
  2. Click Start, click Run, type regedit, and then click OK.
  3. Locate and then click one of the following registry subkeys as appropriate:
    • HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security
    • HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\Security
    • HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Security
  4. On the Edit menu, point to New, and then click DWORD Value.
  5. Type one of the following value names depending on the registry subkey that you clicked in step 3, and then press ENTER:
    • ExcelBypassEncryptedMacroScan
    • PowerPointBypassEncryptedMacroScan
    • WordBypassEncryptedMacroScan
  6. Right-click the DWORD value that you created in step 4, and then click Modify.
  7. In the Value data box, type 1, and then click OK.
  8. On the File menu, click Exit to exit Registry Editor.
Note The steps above should not be used after Office 2007 SP2 has been installed. This registry information is also provided in the '2007 Microsoft Office Security Guide', but that documentation was created prior to the release of the Office 2007 Service Pack 2.

↑ Back to the top


Keywords: KB927150, kbprb, kbexpertisebeginner, kbtshoot, kbantivirus, kbapi, kberrmsg

↑ Back to the top

Article Info
Article ID : 927150
Revision : 7
Created on : 9/18/2011
Published on : 9/18/2011
Exists online : False
Views : 928