Styles and Printing the List you see in Normal View

J

Jugglertwo

I wondered if this is possible and I'm checking with you Word gurus.
I have all the various styles displayed in Normal View on the left hand side
of my document as I set the width on the Style Area Width to 1". I used
Tools-Options-View Tab-Style Area With Box.

Here is my question:
1) Is there any easy way to bring what I see in Normal View to a printer?
The only way I can see doing it is to take screen shots but that isn't too
much fun.
Any suggestions would be greatly appreciated !
Thanks!
Jugglertwo
 
A

Aeneas

I do not believe you can print out the Style area pane but you can easily
include the name of each paragraph/linked style before each paragraph.

Either of the following two macros will insert the name of each
paragraph/linked style before each paragraph. The first is from 1998 by John
McGhie; it inserts the style name in <>at the beginning of each paragraph.
The second is by Chad DeMyer (sp??) from 2004; it inserts the style name in a
text frame in the left margin.

In either case, make sure you do not save the document after running the
macro; the content of the document will have been altered.

McGhie's macro:

Sub Styleareamcghieingreaterlesser()
' LabelStyles Macro; name changed Aeneas
' Macro recorded 18/11/98 by John McGhie
'this macro labels every style in a document; useful for rescuing corrupt doc

Doanother:
Selection.TypeText Text:="<" + Selection.Paragraphs(1).Style + ">"
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdMove
If Selection.End < ActiveDocument.Content.End - 1 Then GoTo Doanother
End Sub

DeMyer' macro:

Sub StyleAreaDeMyertextframes()
'Chad DeMyer 2004 name changed
Dim oStyle As Style
Dim oNormal As Style
Dim oSec As Section
Dim oPar As Paragraph
Dim oRng As Range

Set oStyle = ActiveDocument.Styles.Add(Name:="StyleName", _
Type:=wdStyleTypeParagraph)
Set oNormal = ActiveDocument.Styles("Normal")
With oStyle
.AutomaticallyUpdate = False
.BaseStyle = "Normal"
.NextParagraphStyle = "StyleName"
.Font = oNormal.Font.Duplicate
.ParagraphFormat = oNormal.ParagraphFormat.Duplicate
.ParagraphFormat.Alignment = wdAlignParagraphRight
With .Frame
.TextWrap = True
.WidthRule = wdFrameExact
.Width = InchesToPoints(1)
.HeightRule = wdFrameAuto
.HorizontalPosition = wdFrameLeft
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.VerticalPosition = InchesToPoints(0)
.RelativeVerticalPosition = wdRelativeVerticalPositionParagraph
.HorizontalDistanceFromText = InchesToPoints(0.13)
.VerticalDistanceFromText = InchesToPoints(0)
.LockAnchor = False
End With
End With

For Each oPar In ActiveDocument.Paragraphs
Set oRng = oPar.Range
If oRng.Tables.Count = 0 Then
With oRng
.InsertBefore Text:=oPar.Style & vbCr
.Collapse Direction:=wdCollapseStart
.Style = "StyleName"
.ParagraphFormat.SpaceBefore = oPar.SpaceBefore
End With
End If
Next oPar

MsgBox Prompt:="done"
End Sub

Re installing macros by Graham Mayor:
http://gmayor.com/installing_macro.htm

There is another macro from 2004 by Doug Robbins but it stops working when
it hits a table (at least in Word 2007).
 
J

Jugglertwo

Thank you so much for providing the macros.
I used both of them and they work great!
Thanks to both you and Suzanne for your assistance.
This Newsgroup is the greatest !
Jugglertwo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top