ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   About Application.OnUndo again (https://www.excelbanter.com/excel-programming/413110-about-application-onundo-again.html)

PK

About Application.OnUndo again
 
Hi there,

I've found that calling Application.OnUndo method clears all the Undo
history, so this method appears unuseful. Maybe there is a way to keep the
history and use Application.OnUndo method only to place custom Undo method on
the top of the Undo stack?
More over if I call Application.OnUndo in OnUndo handler, it doesn't place
new handler on the stack.

Dave Peterson

About Application.OnUndo again
 
Most macros that do anything destroy the undo/redo stack (along with the
clipboard).

If you want to control an undo, maybe you can take care of it yourself.

Check out John Walkenbach's site:
http://www.j-walk.com/ss/excel/tips/tip23.htm

pk wrote:

Hi there,

I've found that calling Application.OnUndo method clears all the Undo
history, so this method appears unuseful. Maybe there is a way to keep the
history and use Application.OnUndo method only to place custom Undo method on
the top of the Undo stack?
More over if I call Application.OnUndo in OnUndo handler, it doesn't place
new handler on the stack.


--

Dave Peterson

PK

About Application.OnUndo again
 
The example only demonstrates using Application.OnUndo method, nothing more.
I would like to use custom undo handlers only for my methods, something like
this:

StartTrackingChanges();
RunOperation();
FinishTrackingChanges();
Application.OnUndo(undoComment, "UndoOperationChanges");

Otherwise I'll have to fully implement my own undo/redo functionality, and
don't use Application.OnUndo at all.

"Dave Peterson" wrote:

Most macros that do anything destroy the undo/redo stack (along with the
clipboard).

If you want to control an undo, maybe you can take care of it yourself.

Check out John Walkenbach's site:
http://www.j-walk.com/ss/excel/tips/tip23.htm

pk wrote:

Hi there,

I've found that calling Application.OnUndo method clears all the Undo
history, so this method appears unuseful. Maybe there is a way to keep the
history and use Application.OnUndo method only to place custom Undo method on
the top of the Undo stack?
More over if I call Application.OnUndo in OnUndo handler, it doesn't place
new handler on the stack.


--

Dave Peterson



All times are GMT +1. The time now is 03:28 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com