Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, and 2016. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Listing the Settings in a Template.
by Allen Wyatt
(last updated June 10, 2017)
Andy wonders if there is any way to 'list' the settings in a template (margins, fonts, tab stops, etc.). He has seen lots of information about resetting to defaults, but nothing that will tell him what the settings actually are. He notes that opening a template and looking at the various items is clunky and less than comprehensive.
Unfortunately, there is no easy way to do this in Word. The primary reason is because there is no full list of what settings are stored in templates, and the sheer number of such settings can be quite daunting. The best you can do is to create a macro that will examine the settings you are interested in and then display those.
As an example, consider the following suite of macros:
Sub TemplateSettings() Dim templatePath As String Dim fleName As String Dim str As String Dim sTemp As String ' Select the template to be opened templatePath = Application.Templates(1).Path fleName = GetTemplateName(templatePath) If fleName = "" Then MsgBox "No template selected" Exit Sub End If Application.Documents.Open (fleName) str = ActiveDocument.Name & vbCr & vbCr sTemp = "Other" Select Case ActiveDocument.Sections(1).PageSetup.PaperSize Case wdPaperLetter sTemp = "Letter" Case wdPaperLegal sTemp = "Legal" Case wdPaperA4 sTemp = "A4" End Select str = str & "Paper size: " & sTemp sTemp = "Landscape" If ActiveDocument.Sections(1).PageSetup.Orientation = wdOrientPortrait Then sTemp = "Portrait" End If str = str & " Orientation: " & sTemp & vbCr str = str & "Margins " & marginsStr & vbCr str = str & vbCr & "User Defined Tab stops " & UserTabStops & vbCr str = str & vbCr & "User defined styles " & userStyles Application.Documents(fleName).Close SaveChanges:=wdDoNotSaveChanges MsgBox str End Sub
Function GetTemplateName(templatePath As String) As String Dim dlg As FileDialog Set dlg = Application.FileDialog( _ FileDialogType:=msoFileDialogFilePicker) With dlg .AllowMultiSelect = False .InitialFileName = templatePath .Filters.Clear .Filters.Add "Templates", "*.dotx; *.dotm" .Filters.Add "All files", "*.*" .FilterIndex = 1 .Show If .SelectedItems.Count > 0 Then GetTemplateName = .SelectedItems(1) Else GetTemplateName = "" End If End With Set dlg = Nothing End Function
Function userStyles() As String Dim sty As Style Dim s As String s = "" For Each sty In ActiveDocument.Styles If Not sty.BuiltIn Then s = vbCr & sty.NameLocal & " " & sty.Description End If Next sty userStyles = s End Function
Function UserTabStops() As String Dim s As String Dim tbStop As TabStop Dim alg alg = Array("Left", "Center", "Right", "Decimal", "Bar", "?", "List") s = "" For Each tbStop In ActiveDocument.Paragraphs(1).TabStops s = s & vbCr & ptConvert(tbStop.Position) & _ " Alignment: " & alg(tbStop.Alignment) Next tbStop UserTabStops = s End Function
Function marginsStr() As String With ActiveDocument marginsStr = _ "Left: " & ptConvert(.PageSetup.LeftMargin) & _ ", Right: " & ptConvert(.PageSetup.RightMargin) & _ ", Top: " & ptConvert(.PageSetup.TopMargin) & _ ", Bottom: " & ptConvert(.PageSetup.BottomMargin) End With End Function
Function ptConvert(p As Single) As String ptConvert = Format(PointsToInches(p), "###.##") ' use the following line if you want dimensions in centimeters 'ptConvert = Format(PointsToCentimeters(p), "###.##") End Function
The main macro that you start with is TemplateSettings. This macro, in turn, calls the other functions in the listing. It grabs some of the more common settings within a template (you get to specify the template, of course) and then displays those settings in a message box. Specifically, it displays the template's name, paper size, page orientation, margins, tab stops (for only the first paragraph in the template), and user-defined styles.
There are obviously many, many other settings that could be extracted and displayed. For instance, you might want to know what the characteristics of each style are, rather than just a list of user-defined style names. Or you might want to know how formatting for built-in styles differs from default formatting. Just these options alone would introduce a huge amount of complexity to the macro. (Consider that each style can have dozens of different formatting settings and "default formatting" for built-in styles is defined by what is stored in the Normal template.) In order to include such additions, you'd only need to modify the macro to gather and compile the desired information.
Note, as well, that the macro suite presented here is designed to be simple, despite its length. All it does is put all the extracted settings into a string and then display that string in a message box. If the template you are looking at has many, many user-defined styles, then it is possible for the string to get quite long. If it ends up getting too long, then you'll get an error because the MsgBox function can only display a relatively short message. If you anticipate that your string will be longer, you'll want to display it in "chunks" in multiple message boxes, or simply write the string out to a text file that you can later examine.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (10118) applies to Microsoft Word 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Word here: Listing the Settings in a Template.
The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!
Changing the template associated with a couple of documents is easy, but what if a whole directory needs to be changed? ...Discover More
Word has a feature called AutoRecover that helps you when Word or Windows crashes. If your Normal template gets messed up ...Discover More
Templates, when attached to a document, can greatly affect how that document looks. You can change from one template to ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.