Search-and-replace macro never works

L

Liam Gibbs

Hello everyone,

I'm well aware that MS Word is not good with macros, but I never
realized to what extent until now. Here's the situation:

I'm trying to do a search-and-replace of my name in a certain style.
That's it.

So, when recording the macro, I do a search-and-replace, enter my name
plus a carraige return in the style "Centered". I enter nothing for
the replace field, as in I want to eliminate my name and leave
nothing. I do the search-and-replace, and it gets rid of them. End the
recording.

However, when I play the macro, it does nothing. I even get rid of the
^p, so that it's only looking for my name in the Centered style. No
love. Here's the thing. When I open up the search-and-replace dialog
box, instead of it looking for my name in Centered (i.e. I'm looking
at the criteria for the previous search), it was looking for Centered
with Border: Top (Single Solid Line, Auto, etc. etc.). Well, that's
not what I asked for. Where did it get the extra stuff? I looked at
the macro code, but I'm no expert and couldn't find anything out of
the ordinary.

What am I doing wrong? Or is this another of Microsoft's "features"?
 
D

Doug Robbins - Word MVP

There is very little wrong with the capability of VBA in Word. What it
lacks however is a proper macro recorder and trying to record Seach and
Replace Operations is one area where it is really deficient.

The following macro will do what you want:

Dim drange As Range
Selection.HomeKey wdStory
Selection.Find.ClearFormatting
With Selection.Find
Do While .Execute(findText:="Your Name", MatchWildcards:=False,
Wrap:=wdFindStop, Forward:=True) = True
Set drange = Selection.Range
If drange.ParagraphFormat.Alignment = wdAlignParagraphCenter Then
drange.Paragraphs(1).Range.Delete
End If
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
 

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