Solved

PowerPoint COM Add-In - implementing Undo/Redo

Posted on 2014-04-01
4
628 Views
Last Modified: 2014-04-22
I have a PowerPoint COM Add-In.  The actions it performs are not put on the Undo stack by PowerPoint, so PowerPoint's Undo does not work.  This seems to be a long-standing documented issue.

I have cobbled together some sort of shaky solution by running the line CommandBars.ExecuteMso('HideBackgroundGraphics') before each action the Add-In performs that changes the presentation.  This has the effect of placing the "Background" command in the Undo stack and allows the user then to Undo and get to that point.

This sort-of works but has three disadvantages:

1) The command I use in the ExecuteMso is as neutral a one as I could find (I tried loads including HideSlide and then setting it back manually, but nothing seemed as uninvasive as this) - but this still MAY upset some user, sometime.

2) This method means that there are two entries in the Undo stack so the user has to click twice.  Not too major a price to pay.

3) More serious is that fact that after Undo-ing the action, Redo does not work!!  In some way the state is compromised and the Background command has disappeared.

My question is - has anyone successfully implemented undo in this (or any other) way.  Do you have a fix particularly for point 3?

Many thanks for your help

Richard Teller
0
Comment
Question by:rteller00
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 23

Expert Comment

by:JSRWilson
ID: 39969998
I don't write COM addin (only ppam) but in vba for 2010 onwards there's a new method

Application.StartNewUndoEntry

John
0
 

Author Comment

by:rteller00
ID: 40002410
Thanks, John.  Problem is that many of our clients are still 2007 and I'd really like to find a comprehensive solution if possible.
0
 
LVL 23

Accepted Solution

by:
JSRWilson earned 500 total points
ID: 40003313
There's no answer in 2007.
0
 

Author Closing Comment

by:rteller00
ID: 40016138
Thanks, John.
0

Featured Post

Enroll in July's Course of the Month

July's Course of the Month is now available! Enroll to learn HTML5 and prepare for certification. It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Setting the Scene PowerPoint is a creative tool in the right hands but it also includes a much underutilised programming dimension. In this beginner level article, we're going to show you some of some key elements of programming PowerPoint using th…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
This video teaches viewers how to fit pictures into slides, crop and remove backgrounds, and alter photos to look more professional.
The viewer will learn how to  create a slide that will launch other presentations in Microsoft PowerPoint. In the finished slide, each item launches a new PowerPoint presentation and when each is finished it automatically comes back to this slide: …

630 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question