Last week, we discussed how MS Word macros can help us edit our stories. Macros create shortcuts for keyboard and mouse clicking. They can clean up our formatting. And they can highlight potential trouble spots.
Today, let’s focus on that last usage because that’s going to have the biggest effect on our story. Right now, as part of our editing process, we might search for problematic words like “realized” or “sad.”
Sentences like “She realized he’d given her the wrong key” or “She was sad” are problems because they tell the reader a conclusion. Readers can’t play along and reach that conclusion with the character.
A better version of those phrases would show readers what leads to those conclusions. How did she realize it was the wrong key? Did it not fit? What did her “sad” look like (or depending on the point of view, feel like)? Did her voice tremble?
To make those improvements to our story, we first have to find those words that often hint at trouble. Many writers will do a “find and replace” in MS Word, searching for one of those red flag words and replacing them with a highlighted or colored text version of the same word.
But as I mentioned last week, there are a lot of those red flag words, and that would be a lot of searches. That’s where macros can help, and today we’ll learn how to build our own trouble-searching macros with a few secret weapons. *smile*
Getting Started with Our Custom Macros
Note: If you’re viewing this post in my newsletter, click through to see the images. Also, I use MS Word 2007. Menus and dialog boxes might look slightly different in your version.
Check our MS Word settings: Do we see the Developer tab on the ribbon or see the Developer menu (depending on our Word version)? If not, follow these instructions through Figure 4.
On the Developer tab, select the “Macros” button. This will bring up the Macros dialog box.
In the Macros dialog box, type the name we want for our macro on the top line, double check where our system will save the macro (usually we’d want the macro accessible to “All active templates and documents”), and then click “Create.” (Note: Macro names can’t use spaces.)
For this demonstration, I’m using the macro name “Temporary,” but we’d probably want to use a description for what the macro will do or find, like “TellingWords,” “NamedEmotions,” etc. (If we already have macros installed, just type over whatever appears in the top line and click “Create.” This process will not delete other macros.)
Microsoft Visual Basic will open automatically, and we’ll see the placeholder for our macro’s instructions. (If other macros are installed, this new (empty) macro will appear at the bottom of the file.)
Don’t panic at seeing this programming stuff! We’ll walk through each part:
- The “Sub (our macro name)” command marks the beginning of the macro.
- The single quotes at the beginning of some lines mark comments where we can add descriptions or notes to ourselves so we’ll remember later. Comment lines show in green and won’t do anything (i.e., there’s no programming here).
- The blank line after the comment lines and before the End Sub line is where we can paste in programming instructions.
- The “End Sub” command marks the end of the macro.
Next we’ll take a modified version of the code I mentioned last time (via a link from Karen Woodward) and fill in that empty line with the programming we want. I’ve already changed the variables in this to match the settings I think we’d usually find most helpful.
Copy and paste this code below onto that blank line before “End Sub” of our empty macro placeholder. Do not paste over the other lines.
' Highlights words that might indicate telling ' ' Put list of words to search for in TargetList = Array line ' Every word must be surrounded by double quotes ' Separate words with a comma OUTSIDE the quotes ' The parentheses must remain around the list ' ' Written by Jami Gold, https://jamigold.com ' Dim range As range Dim i As Long Dim TargetList TargetList = Array("happy", "sad") ' put word list to find here 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 = wdTurquoise Loop End With Next
Our previously empty macro should now look like this:
This macro will search for all the words listed in the “TargetList = Array” line. I’ve modified the original code so the search will find matches for upper and lower case and various tense versions as well (-s, -es, -ing, -ed, and irregular forms). However, it will not match with suffixes that create a new form of the word, like -ness or -ly. Matches will be highlighted in turquoise.
Now we can customize this macro for the words we want to search for. We can add other words and/or delete the “happy” and “sad” default words if we wish.
- Ensure each word is surrounded by double quotes.
- Separate each word with a comma outside the quote marks.
- Check for typos like spaces inside the quote marks.
- Watch out for unusual formatting (hyphenated words might not work in macros, etc.).
- Ensure the parentheses remain around our list.
For example, if we add “want” and “feel,” the TargetList line would look like:
Before we do too much to this macro, we might want to test it and make sure we copied the basics into Visual Basic properly. Here’s a screenshot of a sample paragraph I wrote to test for those four words in the TargetList above:
(Click on the image to see a full-size version.)
Bring out the Secret Weapons: Word Lists
All right, hopefully all that was clear enough that no one is freaking out. *smile* The next step is to add more words to the macro’s word list, like I mentioned in Step #8.
We can get back into our macro at any time later by clicking on the Macros button on the Developer tab, like we did in Step #2. In the Macros dialog box, click the name of the macro we want to change and then click “Edit.”
This will once again open the Microsoft Visual Basic file for our macro, and we can add more words to the “TargetList = Array” line. But this brings up the question: How do we build these lists?
Answer: Secret Weapons *smile*
Secret Weapon for Named Emotions:
The Emotion Thesaurus
I’ve gushed many times about the awesomeness of The Emotion Thesaurus by Angela Ackerman and Becca Puglisi of Writers Helping Writers (formerly The Bookshelf Muse). I have the PDF version of this book open permanently while drafting and editing. No exaggeration.
As I mentioned in my post about how the ET can help us avoid writing problems, the number one way the ET can help is by giving us brainstorming help for showing emotions rather than naming them in the lame “She was angry” kind of way. The ET helps us with body language, visceral, and mental cues for a whole list of words.
Catch that? A whole list of words.
In fact, the emotions in the ET‘s table of contents would be a great start as a word list for a macro called NamedEmotions. We might need to tweak the words to fit how we’d usually use them in a sentence like “She was…” For example, “fear” might become “afraid, “anxiety” might become “anxious,” etc.
And with the ET in our grasp, we have the tool we need to fix those problems right in front of us too. *grin*
Secret Weapon for Telling Words:
Mastering Showing and Telling in Your Fiction
I haven’t gushed about this book yet because Marcy Kennedy just released it last week, but it’s an excellent addition to our craft collection. Mastering Showing and Telling in Your Fiction is the best practical guide I’ve seen on showing vs. telling. And it’s packed full of tips on how to recognize telling, when telling is preferred, and how to fix problematic telling sections.
Even better for our discussion here, Chapter Five is stuffed with word lists. It includes word lists for more of those named emotions, for telling-style dialog tags like “pouted,” for telling-style thinking words like “realized,” for sensory filter words like “saw,” etc.
In other words, we could create several macros based just on the tips Marcy shares in this book. Some of her word lists might even be too long to fit in the macro.
(The programming limits line length, so we can’t include an infinite number of words in that “TargetList” line—estimate around 60-90 words. If we run into that limit, we might want to leave off words that we don’t usually use, or we could split the list into two macros. We probably wouldn’t want to highlight too many words at once anyway.)
Marcy’s book includes a complete revision checklist too, so we know what to do with each of the issues we discover. *smile*
Secret Weapon for Other Problematic Words:
The Writing Community
Once we start paying attention to these types of words, we’ll find helpful word lists everywhere on various blog posts and resources. For example, this post talks about “conclusion” words like “beautiful” and “eerie.” How was it beautiful? What made it eerie?
This post lists ten words to cut from our writing because they’re useless filler most of the time. And this post by Janice Hardy includes several lists of words to look out for or words frequently misused.
Search & Destroy Problems with Macros and Word Lists
For each word list we want to check, we’d follow Steps #2-8 above. Create the blank macro, copy and paste the code above, and then fill it in with our custom word list.
After we decide to leave or change every highlighted word from a macro, we need to reset our document and remove any remaining highlighting. From the “Home” tab, we would “Select All” (usually the Ctrl+A shortcut) and then click “No Color” under the highlighting pen.
Once our document is reset, we could run another macro and check another word list if we wanted.
As I mentioned last time, Paul Beverley’s book includes a macro called FindHighlight for jumping from highlighted section to highlighted section so we don’t even have to scroll, looking for the next turquoise word. (His book also describes how to set up keyboard shortcuts for a macro like that too.)
Ta-da! Search in MS Word for those problematic sections more easily. Creating our own macros doesn’t have to be scary after all. *smile*
Do you struggle with finding those “telling” words? Would macros help? Think you can create your own macros now? Do you have any questions about these steps? Do you know of any other good “word list” resources?