Format between Styles

G

Guest

I have a long document (several thousand pages) that has heads using
Heading Style 1 through Heading Style 5. I would like to apply a
style to the body text between Heading 2 and Heading 3.

Is there a way to set up a Find/Replace to do that for me?

<*((((><{
(e-mail address removed)
 
H

Herb Tyson [MVP]

Not unless there's some unique text in every Heading 2 and Heading 3
heading. Find/Replace lets you find a style, but only one per find. Hence,
you can locate Heading 2 or Heading 3, but not both (and certainly not with
something else sandwiched in-between). Wildcard searches are really good
with text patterns, but limited when it comes to formatting patterns.

It wouldn't be terribly hard to set up a macro to do it, however.
 
G

Greg Maxey

While it was probably harder for me than Herb can imagine, I think I finally
figured it out.

Try:
Sub ApplyNewStyleBetweenTweUniqueStyles()
Dim oRng As Range
Dim oTempRng As Range
Set oRng = ActiveDocument.Content
With oRng.Find
'Look for the Heading 2 text on execute
.Style = "Heading 2"
.Wrap = wdFindStop
While .Execute
'Collapse oRng to end of found Heading 2 text
oRng.Collapse wdCollapseEnd
'Set a temporary range that starts at end of Heading 2 text
Set oTempRng = oRng.Duplicate
'Look for Heading 3 text on execute
.Style = "Heading 3"
.Execute
'Collapse oRng to start of Heading 3 text
oRng.Collapse wdCollapseStart
'Define temporary range that ends where Heading 3 text starts
oTempRng.End = oRng.End
'Apply style
oTempRng.Style = "MyStyle"
'Set execute to look for Heading 2 text
.Style = "Heading 2"
Wend
End With
End Sub

Where "MyStyle" is the name of the style you want to apply.
 
H

Herb Tyson [MVP]

Wow! That's surprisingly similar to the one that took me 30 seconds to
record.

JUST KIDDING!!!

;-)
 
G

Greg Maxey

Yoouuuu!!!
That "Just Kidding" line was the only thing that kept a vein from bursting
;-)
 
G

Guest

I love you guys! Thank you. I'll give the macro a try and let you
know how it works. :)

Happy Fishy
<*((((><{
(e-mail address removed)
 

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