How to implement an 'undo' functionality for an Office Add-In using the JavaScript API
Asked Answered
M

2

8

How to implement an 'undo' functionality for an Office Add-In using the JavaScript API?

Right now all changes made by an Add-In are non-reversible by the user and it appears that Microsoft is not working on an easy way to enable the Add-In changes being 'undoable'. Even though developers have been requesting this feature:

Montagu answered 20/7, 2016 at 17:24 Comment(0)
A
5

Thanks for bringing this up.

The fact that the undo stack gets cleared when you execute the APIs is -- for Excel -- unfortunately unavoidable. You get the same behavior in VBA or VSTO, and it has to do with the way that Excel is fundamentally designed. Perhaps we could be a tad better at remembering undos for trivial operations, but even the UI itself or Excel Online will clear away the undo stack for things like deleting a sheet.

That being said, I do appreciate both suggestions, and have already passed them along to the team. Namely:

  • Avoid clearing the undo stack on read-only operations; only clear it on 'write'.
  • Think about some sort of copying/serialization method for worksheets, so that there's a state to revert to.

We'll see what we can do.

Algicide answered 20/7, 2016 at 17:40 Comment(0)
S
3

Note that this is something specific to Excel (which i see from your uservoice request), but should not be generalized to the other Office Applications. For instance, in Word the end user driven undos after API calls is supported.

Solanum answered 20/7, 2016 at 17:55 Comment(1)
Is word office js 1.1 supports undos? I didn't find any idea here https://github.com/OfficeDev/office-js-docs/tree/master/reference/wordCloaca

© 2022 - 2024 — McMap. All rights reserved.