I got tired of fixing text styles (manually) after re-adjusting Heading levels in training manuals 50+ pages in length.

I spend a pleasant half-hour (for each manual) in Outline mode, jiggering around with the "Heading 1" through "Heading 4" styles, and then want to assign "Text 1" through "Text 4" styles for all paragraphs that aren't in a special style (such as "MacroExample" style).

It's crude, but it does the trick.

<pre>Sub FixStyles()
' Assign correct "following" styles for each paragraph.
'
' For each paragraph,
' if it is a "Header i",
' remember its level.
' if it is a "Text i" or a Normal,
' set it to Text 1 through 4
'
Dim prg As Paragraph
Dim intLevel As Integer
For Each prg In ActiveDocument.Paragraphs
Dim strStyle As String
strStyle = prg.Style.NameLocal
Select Case strStyle
Case "Heading 1"
intLevel = 1
Case "Heading 2"
intLevel = 2
Case "Heading 3"
intLevel = 3
Case "Heading 4"
intLevel = 4

Case "Text 1"
prg.Style = ActiveDocument.Styles("Text " & Trim(Str(intLevel)))
Case "Text 2"
prg.Style = ActiveDocument.Styles("Text " & Trim(Str(intLevel)))
Case "Text 3"
prg.Style = ActiveDocument.Styles("Text " & Trim(Str(intLevel)))
Case "Text 4"
prg.Style = ActiveDocument.Styles("Text " & Trim(Str(intLevel)))
Case "Normal"
prg.Style = ActiveDocument.Styles("Text " & Trim(Str(intLevel)))

Case Else
End Select
Next prg
End Sub
</pre>