Global templates, also called add-ins, are, as the name implies, templates that apply to all documents, as opposed to document templates which apply only to documents to which they are attached. Global templates can contain autotext entries, macros, and custom toolbars and keyboard shortcuts, thus giving Word new functionality that works for any document. The Normal template is a special case in that it is always a global template and it is the default document template.
A global template can also contain automacros, which run when the template is opened or closed, allowing you to configure Word's preferences, for example, to make sure that your environment is exactly the way you like it every time.
By default, macros, autotext and customizations are stored in the Normal template. Since the Normal template is used as a scratch pad for the application as well as any documents that use it as their document template, it tends to be much more susceptible to corruption. If the Normal template corrupts, the standard fix is to rename it (with Word closed), restart Word, which creates a new Normal template, then use the Organizer to transfer items from the old version. Of course if the template is corrupted, there's no guarantee that the items will be available. For more on the Normal template, click here (link to new Normal template article).
Global templates tend to be far less susceptible to corruption. I've used global templates for years without any problems. Global templates have another advantage, in that they can be used to split up the functionalities, either for easier troubleshooting during development, or for flexibility in configuring Word. For instance, everyone on a network could share a global template with some basic macros, autotext, etc., and individual users can have their own customizations in a local global template.
Global templates, like any other template can be created by saving the file with the Startup Folder or another add-in location (see below). You can also simply copy the Normal template to the Startup folder and rename it (Word can't use more than one Normal at a time).set to and saving it in the
Global templates which are stored in either of two folders are automatically loaded when Word is started. The first is the Microsoft Office <your version>:Office:Startup:Word folder; the second is the folder designated using .
Global templates can also be loaded manually using thedialog:
Macros in global templates can be called at any time, regardless of which document template is active. When calling a macro using All active documents and templates, or to the specific global template that the macro resides in.dialog, be sure the dialog is set to
Automacros and Event macros execute when certain events take place -- a document is opened, closed, changed, etc. Unlike MacXL, where automacros have been almost entirely replaced in current programming by event macros, MacWord's event macros (Document_Open(), Document_Close(), Document_New()) - either by design or a bug, don't fire when global templates are loaded. However, the older automacro AutoExec() will fire. This can then be used to perform an action on startup, such as configuring toolbars, setting preferences, etc.
Toolbars are stored in templates or documents, by default the Normal template. But they can be attached to global templates just as they can with any other document, using the menu command. With the global template open, create a new toolbar using the New button, and set the Save in: dropdown to that template
Using a macro to create toolbars has a couple of advantages. One is that you can set properties that aren't available via the GUI (such as protection, the row index, parameters, making the toolbar temporary, etc). Another is that the toolbar will be created just the way you want it every time, even if you, someone else, or a macro modify the toolbar during a session.
You can see an example of how to implement a toolbar in code at my page on creating a replacement standard toolbar.
Like thedialog, the Word dialog allows you to choose which template the shortcut is stored in. If you store the shortcut in a global template, the shortcut will be available to each document, regardless of which document template is in use.
Of course, if you want to make sure that the user doesn't change the keyboard shortcut, you can create the keyboard shortcut in code in a global template. For example to assign CMD-OPT-W to the FileClose command:
CustomizationContext = ThisDocument.AttachedTemplate KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyW, wdKeyCommand, wdKeyOption), _ KeyCategory:=wdKeyCategoryCommand, Command:="FileClose"
and to restore it when closing the add-in:
CustomizationContext = ThisDocument.AttachedTemplate FindKey(BuildKeyCode(wdKeyW, wdKeyCommand, wdKeyOption)).Disable
Setting preferences via code in a global template allows you to configure your environment precisely each time you open Word. If I suspect my Word Settings file has gotten corrupted, I never worry about trashing it - I set all my prefs in my startup global template. You can see a modified version of my Set_Preferences() macro. I call it from the Auto_Exec() macro of my startup global template.
You can use the Organizer to transfer macros, autotext, and toolbars from any template to your global template. Choose Tools/Templates and Add-ins..., then click the Organizer button. Click Close file on one side of the dialog, then click Open File and navigate to your template. Repeat with the other side if necessary.
This page last updated on
© Copyright 2001 - 2004 McGimpsey and Associates. Except where noted, all code on this site may be distributed under the Gnu GPL. Acknowledgement is appreciated.