Highlighting Buried Verbs

by Allen Wyatt
(last updated January 16, 2021)

Greg notes that buried verbs are those that are needlessly converted to wordy noun expressions. Such nouns often end in -tion, -sion, -ment, -ence, Ðance, -ure, and -ity. He wonders if there is a way to search through a document and highlight any word that uses these endings.

What Greg notes about buried verbs is most often referred to as nominalizations, or the expression of verbs (and, less often, adjectives and adverbs) as nouns. They make sentences passive and, typically, less readable. Nominalizations abound in just about any writing you can find; I have no doubt they can be found in my writing. A limited number of nominalizations in writing is fine, but a plethora of nominalizations should be avoided.

So, how to mark them in the prose in a Word document? The built-in grammar checker in Word won't even sneeze at buried verbs, so you need to search for them yourself. Word obviously allows you to do a Find and Replace wherein you could search for the suffixes. The problem is adding highlighting using Find and Replace would only add it to the suffix itself, not to the word containing the suffix.

The solution is to develop a macro that will look at all the words in a document, individually, and see if those words use the suffix. It could then highlight those words that do match. Fortunately, Word makes available, to VBA, the Words collection, which represents all of the words in a document. The following example macro utilizes this Words collection:

Sub Highlight_Buried_Vergs()
    Dim docMain As Document
    Dim rWord As Range
    Dim sSuffix(7) As String
    Dim iSuffixes As Integer
    Dim vHilite As Variant
    Dim sChar As String
    Dim sTemp As String
    Dim J As Integer

    vHilite = wdYellow   ' Desired highlight color

    ' Set up suffixes
    sSuffix(1) = "tion"
    sSuffix(2) = "sion"
    sSuffix(3) = "ment"
    sSuffix(4) = "ence"
    sSuffix(5) = "ance"
    sSuffix(6) = "ure"
    sSuffix(7) = "ity"
    iSuffixes = 7

    Set docMain = ActiveDocument

    J = MsgBox("Clear existing highlighting?", vbYesNo)
    If J = vbYes Then
        docMain.Content.HighlightColorIndex = wdNoHighlight
    End If

    For Each rWord In docMain.Words
        ' Clean up the word, removing any spaces and
        ' Getting rid of any trailing non-letters
        sTemp = Trim(rWord)
        sTemp = LCase(sTemp)

        J = Len(sTemp)
        While J > 0
            sChar = Mid(sTemp, J, 1)
            If sChar < "a" Or sChar > "z" Then
                sTemp = Left(sTemp, Len(sTemp) - 1)
                J = Len(sTemp)
            Else
                J = 0
            End If
        Wend

        ' Now ready to check for suffixes
        ' Only need to check if sTemp contains a word
        If Len(sTemp) > 0 Then
            For J = 1 To iSuffixes
                If Right(sTemp, Len(sSuffix(J))) = sSuffix(J) Then
                    docMain.Range(rWord.Start, rWord.Start + _
                      Len(sTemp)).HighlightColorIndex = vHilite
                End If
            Next J
        End If
    Next rWord

    Set docMain = Nothing
End Sub

Note that the suffixes to be checked are stored in the sSuffix array. Each word in the Words collection is assigned to the rWord variable, and then the word is modified to remove any trailing spaces and any trailing non-letters. (This stripping of non-letters is done to remove any punctuation or numbers that may be attached to the word.) Then the word is checked against each of the suffixes to see if there is a match. If so, then the word is highlighted in the document.

You can modify the suffixes you want to check by adjusting what you store in the sSuffix array. For instance, you may want to not only mark words that end in "ance," but also words that end in -ances (for plurals) or -anced (for past tense). If you do, then simply add the additional suffixes to the array and adjust the value stored in iSuffixes, and you'll be set. (Remember, as well, to set the suffixes as lowercase and without the leading dash that has been used throughout this tip.)

If you want a more full-featured approach, then you may need to start using a grammar checker that has the capability to mark nominalizations. One candidate suggested by some WordTips readers is StyleWriter, which can be found here:

https://www.editorsoftware.com/stylewriter.html

The software is not free (as one might expect), but you can try it out for free. The ability to identify and mark buried verbs may also be present in other grammar checking software, but definitely not in all of them. The bottom line is that you'll want to do some research to find which third-party solution works best for you.

Note:

If you would like to know how to use the macros described on this page (or on any other page on the WordTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (9966) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Office 365.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Determining the Length of a Text File

When processing plain text files in a macro, it is often helpful to know how much data the file contains. The normal way ...

Discover More

Printing a Test Page

Windows includes the ability to print a test page to a printer. This is a good idea when you want to check whether the ...

Discover More

Downloading Documents to Your Local Computer

Want to pull a document out of the cloud and store it on your local hard drive? Google Drive provides the ability to get ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More WordTips (ribbon)

Generating a List of Dates

When creating tracking documents in Word, you may need to come up with a series of dates in the document. You can type ...

Discover More

Putting a Bullet in the Middle of a Sentence

Need a special character (such as a bullet) in the middle of your text? Here are two quick ways to enter the character ...

Discover More

Extra Space after Quotation Mark when Pasting

Have you ever noticed how Word can decide to add extra spaces when you paste information into your document? This is part ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is five more than 5?

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)


This Site

Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.