Loading
Word.Tips.Net WordTips (Menu Interface)

Checking for Matching Parentheses

Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Checking for Matching Parentheses.

Unless you are writing very short documents, cleaning up can be one of the hardest parts of writing. The following macro double-checks your document, paragraph by paragraph, to determine if you have a balanced number of parentheses. The macro counts the number of left parentheses in each paragraph of your document and makes sure you have the same number of right parentheses. If you don't, the macro inserts a paragraph before the unbalanced paragraph indicating the error.

Sub CheckParens()
    Dim WorkPara As String
    Dim CheckP() As Boolean
    Dim NumPara As Integer, J As Integer
    Dim LeftParens As Integer, RightParens As Integer
    Dim MsgText As String

    NumPara = ActiveDocument.Paragraphs.Count
    ReDim CheckP(NumPara)

    MsgText = "***Unbalanced parens in the next paragraph"
    For J = 1 To NumPara
        CheckP(J) = False
        WorkPara = ActiveDocument.Paragraphs(J).Range.Text
        If Len(WorkPara) <> 0 Then
            LeftParens = CountChars(WorkPara, "(")
            RightParens = CountChars(WorkPara, ")")
            If LeftParens <> RightParens Then CheckP(J) = True
        End If
    Next J

    For J = NumPara To 1 Step -1
        If CheckP(J) Then
            Selection.HomeKey Unit:=wdStory, Extend:=wdMove
            If J > 1 Then
                Selection.MoveDown Unit:=wdParagraph, _
                  Count:=(J - 1), Extend:=wdMove
            End If
            Selection.InsertParagraphBefore
            Selection.MoveLeft Unit:=wdCharacter, Count:=1
            Selection.Style = "Normal"
            Selection.TypeText Text:=MsgText
        End If
    Next J
End Sub

Private Function CountChars(A As String, C As String) As Integer
    Dim Count As Integer
    Dim Found As Integer

    Count = 0
    Found = InStr(A, C)
    While Found <> 0
        Count = Count + 1
        Found = InStr(Found + 1, A, C)
    Wend
    CountChars = Count
End Function

Note that there are actually two macros here. The CountChars function is called from within the main CheckParens macro. It is this latter macro (CheckParens) that is the one you should actually invoke on your document. When the macro is finished, you can search through the document, looking for the wording "***Unbalanced parens" to see where you may have problems.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1308) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Checking for Matching Parentheses.

Related Tips:

Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

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

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.