How to Use FRedit: A Find and Replace Macro

by C.K. MacLeod

Work horse

Do you use Find and Replace in Word for editing tasks? Want to supercharge your mad Find and Replace skills? Here’s how.

Recently, editor Paul Beverley contacted me to show me how FRedit, a macro that he wrote, can be customized to perform a bunch of useful writing and editing tasks. It’s a find and replace macro, which means that it can take a slew of find and replace tasks that you’d normally do one at a time, and execute them all at once.

If you’ve been nervous about trying a macro, this is your way in. This find and replace macro will allow you to list, in a Word document, all the find and replace tasks you want to do. Run the macro and it will do them for you all at once.

An added bonus: You can keep the list for future writing or editing projects, or you can create customized lists for each project you work on.

Now how does that sound?

Trying FRedit

I gave FRedit a try. I wanted to see if it could identify and highlight words whose meanings writers tend to mix up. It can. In fact, FRedit performed better than the Confusables macro that I posted here. It was able to find words in all their forms. For example, the macro will pick up compliment, complimented, compliments, complimentary, complimenting, etc.

And as it turns out, FRedit can do a host of other things, too. Such as Wildcard searches. You are only limited by your imagination, and your understanding of Word’s Find and Replace and Wildcard codes!

How to Use FRedit

  1. Download the FRedit macro from Archive Publishing.

  2. Add the macro script, or code, to Word’s VBA. If you’re not sure how to do this, this 20-Minute Macro course will get you started.

  3. To use FRedit, you need two documents open:

a. The Word file containing your writing
b. A “script” file that tells FRedit what to do

In my case, my script file contained a list of of commonly confused words.

Confusables script

You can get the Confusables script here. Copy and paste it into a Word document.

4. Run the FRedit macro.

Tip: Have only two Word documents open when you run FRedit: your script file and the document containing your writing.

A Flexible Tool

FRedit is a flexible tool. You can use any script, correctly written, to get FRedit to do something different each time. The instruction file that accompanies the macro offers examples and guidelines for how to make the most of this handy macro.

FRedit is a workhorse, and a boon for Mac users who often don’t have access to automated commercial editing tools. I’m already thinking about other ways to bend FRedit to my will.

Do you use FRedit? I’d love to hear how you use it!

Image by Martin Pettitt

A Macro for Commonly Confused Words

 

A Macro For Commonly Confused Words

By C.K. MacLeod

Updated July 30, 2015

Thanks to Eliza Dee for suggesting a tweak that makes this macro even better (see the comments below for details)! The macro script has been updated.

Adverse or averse? Assent or ascent? English contains many words that are easily confused—words that sound the same, but have different meanings and spellings.

Tackle potential confusables when it's time to edit your writing. The macro below will highlight commonly confused words in just minutes. After you run the macro, check the highlighted words to see if you've used them correctly. Refer to this list to look up any words you're unsure of.

Tip for editors: use this macro to make potential confusables stand out during a first pass.

Quick Steps

  1. Copy and paste the macro into Word's VBA.
  2. Run the macro on your writing.
  3. Remove highlighting from words as you check them.

Sub Confusables()
' Highlights confusables
'
' Written by Roger Mortis, revised Subcortical, Jami Gold, C.K. MacLeod and Eliza Dee; word list, Commonly Confused Words by Oxford Dictionaries http://www.oxforddictionaries.com/words/commonly-confused-words
'
Dim range As range
Dim i As Long
Dim TargetList
TargetList = Array("accept", "except", "adverse", "averse", "advice", "advise", "affect", "effect", "aisle", "isle", "altogether", "all together", "along", "a long", "aloud", "allowed", "altar", "alter", "amoral", "immoral", "appraise", "apprise", "assent", "ascent", "aural", "oral", "awhile", "a while", "balmy", "barmy", "bare", "bear", "bated", "baited", "bazaar", "bizarre", "birth", "berth", "born", "borne", "bow", "bough", "break", "brake", "broach", "brooch", "canvas", "canvass", "censure", "censor", "cereal", "serial", "chord", "cord", "climactic", "climatic", "coarse", "course")
For i = 0 To UBound(TargetList)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList(i)
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = True
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdViolet
Loop
End With
Next

Dim TargetList1
TargetList1 = Array("complacent", "complaisant", "complement", "compliment", "council", "counsel", "cue", "queue", "curb", "kerb", "currant", "current", "defuse", "diffuse", "desert", "dessert", "discreet", "discrete", "disinterested", "uninterested", "draught", "draft", "draw", "drawer", "duel", "dual", "elicit", "illicit", "ensure", "insure", "envelop", "envelope", "exercise", "exorcise", "fawn", "faun", "flair", "flare", "flaunt", "flout", "flounder", "founder", "forbear", "forebear", "forward", "foreword", "freeze", "frieze", "grisly", "grizzly", "hoard", "horde", "imply", "infer", "loathe", "loath")
For i = 0 To UBound(TargetList1)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList1(i)
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = True
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdViolet
Loop
End With
Next

Dim TargetList2
TargetList2 = Array("lose", "loose", "meter", "metre", "militate", "mitigate", "palate", "palette", "pedal", "peddle", "poll", "pole", "pour", "pore", "practice", "practise", "prescribe", "proscribe", "principle", "principal", "sceptic", "septic", "sight", "site", "stationary", "stationery", "story", "storey", "titillate", "titivate", "tortuous", "torturous", "wreath", "wreathe")
For i = 0 To UBound(TargetList2)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList2(i)
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = True
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdViolet
Loop
End With
Next
End Sub


After you've addressed each highlighted word, use Paul Beverley's free UnHighlight macro to remove highlights, one instance at a time.

Not sure what a macro is? See this post for an explanation.

Learn how to use macros with this free 20-minute macro course. You can run macros in Microsoft Word or WPS Writer (pro version).

*The lists of words in this macro are from the Oxford Dictionaries website.

Image by Dvortygirl