Create a Template that Stops Styles from Being Added to a Document

Dianne wonders if there is a way to create a template that will exclude any new styles from being introduced. Clients paste material with formatting and styles into her documents and that can cause problems. She wants to build a generic template that will create a document that will lock out non-template styles.

This problem has been one that has plagued Word users for years (if not decades). You can spend quite a bit of time getting your template and style sheet just the way you want it, then send it off to someone else only to have it return with the style list (and document formatting) in the electronic equivalent of tatters.

There are several approaches you can take to attempt to remedy the situation. First, you can try the "please don't do that" approach where you simply ask the others to not paste anything into your document. Or, if they must paste something, ask them to use one of the Paste Special variants that allow pasting without formatting.

If you want a more forceful approach, follow these steps:

  1. Set up your template (including styles) as you desire.
  2. With the template loaded in Word, display the Home tab of the ribbon.
  3. Click the small icon at the bottom-right of the Styles group. Word displays the Styles pane at the right side of your screen.
  4. At the bottom of the Styles pane, click the Manage Styles icon. (If you can't figure out which icon is which, hover the mouse pointer over each icon, in turn, until you see the ToolTip "Manage Styles.") Word displays the Manage Styles dialog box.
  5. Make sure the Restrict tab is selected. (See Figure 1.)

Figure 1. The Restrict tab of the Manage Styles dialog box.

Theoretically, any document based on the template will restrict what styles the user can use in their formatting. What is unclear is whether this also extends to limiting what styles can be pasted into the document. If you prefer a macro-enforced version of this approach you can use the macros detailed at the following blog:

Of course, you could create a set of macros that would stop people from pasting formatted text into a document. (Place the macros in the template on which the document is based and they are passed to the document automatically. Normal caveat: If the user doesn't enable macros, then this approach is of almost no value.)

For example, one approach to prevent new styles from being added is to determine the number of styles before and after the paste. If the number has increased, then your macro can undo the paste and give the user the options to either paste to the Clipboard as plain text or cancel. This method will also prevent styles from being introduced from tables and textboxes.

It is important to realize that there is no "general" paste event that can be trapped in VBA. Instead, it is necessary to customize several of Word's built-in commands. The following replace four of those commands.

Sub EditPaste() Dim k As Long Options.PasteFormatBetweenDocuments = wdMatchDestinationFormatting Options.PasteFormatBetweenStyledDocuments = wdUseDestinationStyles k = ActiveDocument.Styles.Count Selection.Range.Paste If k <> ActiveDocument.Styles.Count Then ActiveDocument.Undo MsgBox "Paste unsuccessful. You tried to introduce new styles." End If End Sub
Sub EditPasteSpecial() Dim k As Long Dim lk As Boolean Options.PasteFormatBetweenDocuments = wdMatchDestinationFormatting Options.PasteFormatBetweenStyledDocuments = wdUseDestinationStyles k = ActiveDocument.Styles.Count With Dialogs(wdDialogEditPasteSpecial) .Show lk = .link End With If lk Then ActiveDocument.Undo MsgBox "You are not allowed to paste links" Exit Sub End If If k <> ActiveDocument.Styles.Count Then ActiveDocument.Undo If MsgBox("You have tried to introduce new styles." & vbCrLf & _ "Do you want to paste as plain text?", vbYesNo) = vbYes Then _ Selection.Range.PasteSpecial datatype:=wdPasteText End If End Sub
Sub PasteDestinationFormatting() Dim k As Long k = ActiveDocument.Styles.Count Selection.Range.Paste If k <> ActiveDocument.Styles.Count Then ActiveDocument.Undo MsgBox "Paste unsuccessful. You tried to introduce new styles." End If End Sub
Sub PasteSourceFormatting() MsgBox "You are not allowed to paste with source formatting" End Sub

Another non-macro approach is to change the protection for the document. With the template loaded into Word, follow these steps:

  1. Display the Developer tab of the ribbon.
  2. Click the Restrict Editing tool in the Protect group. Word displays the Restrict Editing pane at the right side of your document.
  3. In the Formatting Restrictions area, select the Limit Formatting to a Selection of Styles check box.
  4. Click the Settings link, right under the check box. Word displays the Formatting Restrictions dialog box. (See Figure 2.)

Figure 2. The Formatting Restrictions dialog box.

If you would like to know how to use the macros described on this page (or on any other page on the WordTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (12698) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365.

Author Bio

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. Learn more about Allen.