Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, and 2013. 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: Printing a Full Style Sheet.
by Allen Wyatt
(last updated January 31, 2015)
Dave would love a way to print a full-featured style sheet for his documents. He knows that he can choose to print "Styles" in the Print dialog box, but he would rather have a style sheet that shows the actual styles, such as color, size, font, etc.
Unfortunately there is no such capability in Word. You can, however, create a style sheet of your liking by using a macro. For instance, the following will insert, in the current document, the names of all the styles available in the document. Each style name is on its own line (paragraph) and is formatted using the various styles.
Sub ListStyleNames() Dim s As Style For Each s In ActiveDocument.Styles With Selection .Style = s .TypeText (s.NameLocal) .TypeParagraph End With Next s End Sub
Such an approach, while handy for a concise list of styles, isn't much more informative than what can be printed using the "Styles" designation in the Print dialog box. It does, however, provide a basis upon which one can build to create a more full-featured style sheet.
The problem with creating a detailed style sheet using macros is that styles can contain a ton of information. The object model used by Word (and accessible in VBA) quickly becomes quite complex when testing styles to see what they contain. Here's just a simple example to give you the flavor:
Sub SimpleStyleSheet() Dim s As Style Dim sOutput As String Dim sTemp As String Dim StyleTypes(4) As String StyleTypes(1) = "Paragraph" StyleTypes(2) = "Character" StyleTypes(3) = "Table" StyleTypes(4) = "List" For Each s In ActiveDocument.Styles sOutput = s.NameLocal & vbCrLf sOutput = sOutput & " Style type: " & StyleTypes(s.Type) & vbCrLf sTemp = s.BaseStyle If Len(sTemp) > 0 Then sOutput = sOutput & " Based on: " & s.BaseStyle & vbCrLf End If sOutput = sOutput & " Font: " & s.Font.Name sTemp = "" If s.Font.Bold Then sTemp = sTemp & "Bold, " If s.Font.Italic Then sTemp = sTemp & "Italic, " If Len(sTemp) > 0 Then sTemp = Left(sTemp, Len(sTemp) - 2) sOutput = sOutput & " (" & sTemp & ")" End If sOutput = sOutput & vbCrLf & vbCrLf Selection.TypeText (sOutput) Next s End Sub
The only thing this macro does is to list all the styles, what type of styles they are, whether they are based on a different style (and if so, what that style is named), what font is used by the style, and whether the font is bold or italic. Anyone familiar with styles will immediately understand that these few items are only a small sampling of what can be defined within a style. To check all possible style formats and print them in the style sheet would make the macro very long, indeed.
Even so, this macro might be useful as it provides an idea of how to put together your own style sheet. You just need to figure out what you want to see in the style sheet and then add the macro code to determine that information and print it out.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (13365) applies to Microsoft Word 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Word here: Printing a Full Style Sheet.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Got a printer that understands PostScript? You can use some simple PostScript coding to turn text completely upside down ...Discover More
Sometimes you may want to send Word documents to a commercial printer for professional mass production. Doing this ...Discover More
Copy 1, Copy 2, Copy 3... Do you want to mark your printouts so that they are numbered? Here's how you can do it.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.