Macro question


H

horridboy

I am trying to get a macro that will highlight every paragraph that
begins with

"Q:"

(omit the quotation marks)

and then italicize it.


Can anyone help?

* * *

I have something like this but it doesn't work

Sub Highlight()
'
' Highlight Macro
' Applies color highlighting to the selection
'
WordBasic.Highlight
Sub Tc()
Selection.HomeKey wdStory
With Selection.Find
.Text = "Q:"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False

Do While .Execute
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Italic = True
Selection.Collapse wdCollapseEnd
Loop
End With
End Sub
 
Ad

Advertisements

D

Doug Robbins - Word MVP

If you are sure that the Q: only ever appears at the beginning of a
paragraph, you can use:

Dim drange As Range
Selection.HomeKey wdStory
Selection.Find.ClearFormatting
With Selection.Find
Do While .Execute(FindText:="Q:", MatchWildcards:=False,
Wrap:=wdFindStop, Forward:=True) = True
Set drange = Selection.Paragraphs(1).Range
drange.HighlightColorIndex = wdYellow
drange.Font.Italic = True
Loop
End With

If however the Q: might appear somewhere else in a paragraph and you do not
want that paragraph changed, use the following, but in this case, it will
not change the first paragraph in the document if that happens to start with
Q:

Dim drange As Range
Selection.HomeKey wdStory
Selection.Find.ClearFormatting
With Selection.Find
Do While .Execute(FindText:="^pQ:", MatchWildcards:=False,
Wrap:=wdFindStop, Forward:=True) = True
Set drange = Selection.Range
drange.Start = drange.Start + 1
drange.End = drange.Paragraphs(1).Range.End
drange.HighlightColorIndex = wdYellow
drange.Font.Italic = True
Loop
End With


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
 
Ad

Advertisements

H

horridboy

WOW! Thanks, it works and saved me alot of time

(PS there may be an error if someone just cuts and pastes it, be sure
to not have an extra space on the main line (it will be in red if the
macro fails to run)
 

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