Archive for May 18th, 2012
Passive Voice Words, Highlighting them in Word
My very patient friend, Minerva Zimmerman, is working with me to revise, or as I like to say, unfuck a short story I’m working on. Her and the other alpha readers I handed the story to complained about my passive voice. This amuses me, because I catch the passive voice in others’ work, but not as much in my own until after it’s handed back to me.
(Oh, and if you like amusing fiction about how dangerous being in a museum is, her current series is up your alley.)
Passive Voice Words
She collected some passive voice words from some different sites, as her list to check off when she’s revising. She sent me this note:
They are huge indicators of passive voice and are like the tofu of verbs. A good rule is to try limit your use of them to only where they need to be, you need a strong sauce around them to flavor their tofu nature. If you can use a stronger tasting verb, always use one.
And the list of tofu verbs she’s gathered:
be |
being |
been |
am |
is |
are |
was |
were |
been |
has |
have |
had |
do |
did |
does |
can |
could |
shall |
should |
will |
would |
might |
must |
may |
(Edit: Yes, it’s been commented that there’s more to passive voice than your verb. We should all know that. There is still merit in highlighting your to-be and similar verbs in drafts, to see how excessive you may be using them.)
The Time and Place for Passive Voice
Note that passive voice is generally weak construction, but is not in and of itself grammatically incorrect. Here’s a great site covering that.
Macro to Automatically Highlighting Them in Word
Minerva went through and manually highlighted a number of problem words, which made me think: wait, I remember some VBA from back when I was forced to deal with that. (I was, long ago, a ASP/VBScript guy for hire. And occasionally dealt with VBA.) I could write a macro for this!
For those who don’t know what I’m talking about, just read it as “blah blah blah hey a macro to highlight stuff!”
There’s one macro for highlighting all of the words I listed above, called HighlightPassiveVoiceMacro. There’s another that removes all the highlighting from the document, DehighlightMacro. Note that I’m running Word for Mac 2011. Your mileage may vary.
Now, this will highlight all of them, including those that aren’t actually passive voice. Still, I see that as a feature; that also points out other, related opportunities to clean & tighten language. There’s more to shitty writing than just passive voice.
Due to time constraints, I’ll have to leave it as an exercise to the reader to figure out how to add macros to your document, and how to have them persist when saving. (Seriously, five minutes playing around and I couldn’t remember that last part.) If you don’t know how and want to learn, start by googling “making a word macro”.
Warning: as with all things in life, no warranty is implied. You should make a copy of your file before screwing with it. Unless you love that moment of agony as you discover a drastic error cannot be undone.
Sub HighlightPassiveVoiceMacro()
HighlightPassiveVoiceWord ("be")
HighlightPassiveVoiceWord ("being")
HighlightPassiveVoiceWord ("been")
HighlightPassiveVoiceWord ("am")
HighlightPassiveVoiceWord ("is")
HighlightPassiveVoiceWord ("are")
HighlightPassiveVoiceWord ("was")
HighlightPassiveVoiceWord ("were")
HighlightPassiveVoiceWord ("been")
HighlightPassiveVoiceWord ("has")
HighlightPassiveVoiceWord ("have")
HighlightPassiveVoiceWord ("had")
HighlightPassiveVoiceWord ("do")
HighlightPassiveVoiceWord ("did")
HighlightPassiveVoiceWord ("does")
HighlightPassiveVoiceWord ("can")
HighlightPassiveVoiceWord ("could")
HighlightPassiveVoiceWord ("shall")
HighlightPassiveVoiceWord ("should")
HighlightPassiveVoiceWord ("will")
HighlightPassiveVoiceWord ("would")
HighlightPassiveVoiceWord ("might")
HighlightPassiveVoiceWord ("must")
HighlightPassiveVoiceWord ("may")
End Sub
Sub HighlightPassiveVoiceWord(sWord)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True
With Selection.Find
.Text = sWord
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub DehighlightMacro()
ActiveDocument.Range.HighlightColorIndex = wdNoHighlight
End Sub
What I leave to other VBA geeks out there: making this more accessible to folks, making a version that lets you quickly highlight what you want, whatever other tools you feel like coming up with. Feel free to post links to ‘em in the comments!
- Ryan




