Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, and Word in Office 365. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Clearing the Undo Stack in a Macro.

Clearing the Undo Stack in a Macro

by Allen Wyatt
(last updated November 13, 2020)

3

Normally, as you are making edits in your documents, Word keeps track of what you do. Word does this so you can later use the Undo and Redo commands on the toolbar. What if you are developing a macro, however, and you don't want the user to be able to undo changes? In this case, you can use the UndoClear method in your macro, as follows:

ActiveDocument.UndoClear

In this usage, UndoClear wipes out the Undo stack (the list of actions that is remembered by Word) for the active document. Note that this affects only those actions that have been recorded so far; any new actions will be duly recorded and available on the stack.

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 (13275) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Office 365. You can find a version of this tip for the older menu interface of Word here: Clearing the Undo Stack in a Macro.

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

Getting a File Name

Does your macro need to allow the user to specify a particular file name that should be used by the macro? Here's a quick ...

Discover More

Comments in Endnotes

Able to add comments everywhere, except in endnotes? This seems to be a limitation in Word, but here are some ways to ...

Discover More

Calculating the Interval between Occurrences

With a long list of items in a worksheet, you may want to determine the last time a particular item appeared in the list. ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More WordTips (ribbon)

Adding a Full-Width Line in a Macro

The AutoFormat feature in Word allows you to type special character sequences (such as three dashes or three underscores) ...

Discover More

Determining if Caps Lock is On

If your macro needs to determine the status of the Caps Lock key, you need the code in this tip. Just use the Information ...

Discover More

Determining How Many Styles are Available

Got a macro that processes or uses styles? You definitely need to know how many styles Word has available in the ...

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 0?

2020-11-17 09:24:26

Andrew

Malcom, if as I surmise your goal is not really to wipe the macro off the undo list but rather not to "litter" the undo list with all of the actions the macro carries you, you might want to look into collapsing the entire macro into a single event in the undo list using the Application,UndoRecord object and its .StartCustomRecord and .EndCustomRecord methods.

Andy.


2020-11-16 10:16:06

Malcolm

Wanting to prevent undoing the macro is one thing. If the macro could scramble the effect of earlier actions in the stack, it may be wise. Is it always necessary? How would you store the stack before executing the macro and restore the stack to that state afterwards?


2020-11-16 10:07:07

Malcolm

How would you store the stack before executing the macro and restore the stack to that state afterwards?


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.