Chapter 26: Bulletproofing Access Applications
935
FIGURE 26.23
Enabling all macros
- Restart Access to apply the security change.
The Macro Settings tab provides four levels of macro security:
l (^) Disable All Macros without Notification: All macros and VBA code are disabled and the
user isn’t prompted to enable them.
l (^) Disable All Macros with Notification: All macros and VBA code are disabled and the
user is prompted to enable them.
l (^) Disable All Macros Except Digitally Signed Macros: The status of the macro’s digital
signature is validated for digitally signed macros. For unsigned macros, a prompt displays
advising the user to enable the macro or to cancel opening the database.
l Enable All Macros (Not Recommended; Potentially Dangerous Code Can Be Run):
Macros and VBA code are not checked for digital signatures and no warning displays for
unsigned macros.
A digital signature (contained within a digital certificate) is an encrypted secure file that accompanies
a macro or document. It confirms that the author is a trusted source for the macro or document.
Digital signatures are generally implemented within large organizations that are willing to fund the
expense of purchasing and maintaining digital signatures. You, or your organization’s IT depart-
ment, can obtain a digital certificate through a commercial certification authority, like VeriSign,
Inc., Adobe Systems, or DocuSign. Search http://msdn.microsoft.com for “Microsoft Root
Certificate Program Members” to obtain information on how to obtain a digital certificate.
If you’re sure of the security of your database, you can select the Enable All Macros setting. As its
name implies, Enable All Macros allows all VBA code (and macros) to run, unchallenged, in an
Access application. If there is a reasonable chance an application may run untrusted VBA code or
macros, choose one of the alternate security settings: Disable All Macros without Notification,
Disable All Macros with Notification, and Disable All Macros except Digitally Signed Macros. For
most applications, however, during the development and maintenance cycles you’ll probably use
the Enable All Macros setting so that all the code and macros in the application executes without
interrupting you with permissions dialog boxes.