Converting Text to Comments

Written by Allen Wyatt (last updated April 15, 2024)
This tip applies to Word 2007, 2010, 2013, and 2016


2

Moshe has a Word document that was edited by a copy editor. Anywhere that the editor inserted a comment, it starts with a left parenthesis, followed by "ed note:", then the note, and finally a right parenthesis. For Moshe's in-house processes, it is more advantageous to have these notes as actual Word comments. He wonders if there is a way to automate the finding of these in-text notes and covert them to Word comments.

The way to automate this process is through the use of a macro. The macro can rely on the Find and Replace capabilities of Word, but add some processing whenever a matching comment is located.

Sub NoteToComment()
    Dim sTemp As String

    Selection.HomeKey Unit:=wdStory

    With Selection.Find
        .ClearFormatting
        .Text = "\(ed note:*\)"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindStop
        .MatchWildcards = True
    End With

    Do While Selection.Find.Execute
        sTemp = Selection.Text
        sTemp = Mid(sTemp, 10, Len(sTemp) - 11)
        sTemp = Trim(sTemp)
        Selection.Text = ""
        Selection.MoveEnd unit:=wdCharacter
        Selection.MoveStart unit:=wdCharacter, Count:=-1
        If Selection.Text = "  " Then Selection.Text = " "
        Selection.Collapse
        ActiveDocument.Comments.Add Range:=Selection.Range, Text:=sTemp
    Loop
End Sub

The macro first moves to the beginning of the document, then it sets up the conditions for searching. What is looked for is the pattern that Moshe noted—a left parenthesis, followed by "ed note:", then the note, and finally a right parenthesis—this sequence is assigned to the .Text property of the Find object. Note that each parenthesis has a backslash in front of it. If these backslashes weren't included, Word would consider the parentheses as control characters in the search pattern. In addition, the .MatchWildcards property is set to True so that the .Text property is treated as a search pattern.

In the Do While loop, which is entered each time a matching comment is found, the sTemp variable is set to the text of the comment. The first 9 characters are stripped off (these are "(ed note:") along with the final right parenthesis. The comment is removed from the document and if there are multiple spaces left after the removal, those are deleted as well. Finally, an actual comment is added that contains the text in the sTemp variable.

There is one thing to remember when using this macro: It is dependent on matching the comment pattern correctly. This means that if there are some comments that don't follow the pattern exactly, those may not be found and converted. (For instance, if there is a space after the opening left parenthesis.) Further, if the comments in the document contain parenthetical remarks within the comment (in other words, there are nested parentheses in the comment), that will mess up what is found by the wildcard search and what subsequently ends up in the comment.

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 (1797) applies to Microsoft Word 2007, 2010, 2013, and 2016.

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

Inserting the Edit Time

One of the things that Word keeps track of is how long, in minutes, you've been editing your current document. This ...

Discover More

Setting Limit Line Spacing in the Equation Editor

The Equation Editor is a great way to add a professional-looking equation to your document. It allows you to modify many ...

Discover More

Quickly Accessing the Column Tab

If you need to quickly display the Column tab of the Table Properties dialog box, here are some handy tricks you can use. ...

Discover More

Discover the Power of Microsoft Office This beginner-friendly guide reveals the expert tips and strategies you need to skyrocket your productivity and use Office 365 like a pro. Mastering software like Word, Excel, and PowerPoint is essential to be more efficient and advance your career. Simple lessons guide you through every step, providing the knowledge you need to get started. Check out Microsoft Office 365 For Beginners today!

More WordTips (ribbon)

Displaying Document Comments

Adding comments to a document is a normal activity when writing and editing. Once comments have been added, you may ...

Discover More

Viewing Comments From a Specific Reviewer

If you have multiple editors (or authors) working on the same document, and each of them is adding comments, you may want ...

Discover More

Struggling with New Changes to Track Changes

In the latest versions of Microsoft 365, the company has introduced an entirely new way to deal with markup comments. ...

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}] (all 7 characters, in the sequence shown) 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 minus 5?

2017-06-05 09:53:19

Andrew

I often need to do the reverse, especially when printing a document, much the way the original editor inserted his notes. So I use this macro:

Sub CommentsToInline()
Dim c As Comment
Dim rtext As Range ' referenced text
Dim trackingchanges As Boolean
Const SubName As String = "CommentsToInline"

If ActiveDocument.Comments.Count = 0 Then MsgBox "No comments in document.", vbExclamation, SubName: Exit Sub
If MsgBox("Convert " & ActiveDocument.Comments.Count & " comment(s)?", vbYesNo, SubName) <> vbYes Then Exit Sub
trackingchanges = ActiveDocument.TrackRevisions ' Retain state
ActiveDocument.TrackRevisions = False

For Each c In ActiveDocument.Comments
Set rtext = c.Scope
c.Range.Copy ' Using copy/paste to preserve formatting
With rtext
.Shading.BackgroundPatternColor = -704577741 ' Was too dark with .HighlightColorIndex = wdGray25
.Collapse wdCollapseEnd ' Collapse to end so can begin operating on the comment text
.Text = "{{" & c.author & ":" & "}}" ' Set up comment bracketing (with author) and its formatting
.Font.Color = wdColorBlue
.Font.Bold = True
.Font.Italic = False
.Font.Underline = wdUnderlineNone
.Collapse wdCollapseStart
.MoveStartUntil cset:="}" ' Move to before ending delimiter (just past the inserted colon)
.Paste
.Font.Bold = False
.Font.Italic = True
.Font.Name = "Arial"
.Font.Size = Round(0.8 * .Font.Size)
.Shading.BackgroundPatternColor = -704577741 ' Was too dark with .HighlightColorIndex = wdGray25
End With
c.Delete
Next c

ActiveDocument.TrackRevisions = trackingchanges ' Restore state
End Sub


2017-06-03 05:35:36

Harold Druss

The line below:
sTemp = Mid(sTemp, 10, Len(sTemp) - 11)
Should be:
sTemp = Mid(sTemp, 10, Len(sTemp) - 10)


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.

Videos
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.