Written by Allen Wyatt (last updated July 10, 2021)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365
Mitch uses Track Changes in his documents quite a bit. He knows how to accept or reject changes. He's wondering, though, if there is a way to accept a complete subset of changes, such as accepting all deletions in the document, without affecting any other tracked changes.
This can be done, but only by using a macro. Fortunately, VBA allows you to access the revisions made in your document, as long as they were made with Track Changes turned on. The following macro steps through each revision and, if it is a deletion, it accepts that revision:
Sub AcceptDeletions() Dim oRev As Revision For Each oRev In ActiveDocument.Revisions If oRev.Type = wdRevisionDelete Then oRev.Accept Next oRev End Sub
Note that there are two key elements in this macro. First, is the value stored in the .Type property. Word actually allows 22 different types of revisions, as detailed in this WordTip. As shown in the example above, the macro checks only to see if the .Type property indicates that the revision is, in fact, a deletion.
The second key element is the .Accept method. This causes the revision to be accepted, but you could just as easily specify the .Reject method, which would cause the revision to be rejected.
Finally, you should note that after running the macro, all deletions will be accepted in the document, but you won't be able to use Ctrl+Z to undo the effects of the macro.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (13881) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365.
Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!
Want to protect your documents so that people can't edit them without you knowing about it? One way is to make sure that ...
Discover MoreIf you have Word configured to show markup on-screen and you look through a document, it is easy to tell where changes ...
Discover MoreTrack Changes is a great tool for developing documents. If you want to copy text from one document to another, with ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-07-28 09:21:08
Andrew
Nick, the simple way if you don't want to get into the programming of it is to insert the line "On Error Resume Next" in the line before the "For" statement, understanding that some Deletions may be skipped in the process
The not-so-simple way is to enter the debugger to investigate why the error occurred. My guess is that this is one of those situations where the loop ought to be run backward through the collection.
Andy.
2023-07-27 07:27:35
Nick
I get the message "Run-time error 5852: Requested Object is not Available".
In the debugger, the following line is highlit:
If oRev.Type = wdRevisionDelete Then
Any thoughts on what I need to change?
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.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments