如何使用 JavaScript API 实现 Office 加载项的 'undo' 功能

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

如何使用 JavaScript API 实现 Office 加载项的 'undo' 功能?

现在,用户无法撤消由加载项所做的所有更改,而且 Microsoft 似乎没有开发一种简单的方法来启用加载项更改 'undoable'。尽管开发人员一直要求此功能:

感谢您提出这个问题。

当您执行 API 时撤消堆栈被清除这一事实对于 Excel 来说是不可避免的。您在 VBA 或 VSTO 中得到相同的行为,这与 Excel 的基本设计方式有关。也许我们可以更好地记住琐碎操作的撤消,但即使 UI 本身或 Excel Online 也会清除撤消堆栈,例如删除 sheet.

话虽如此,我非常感谢这两个建议,并且已经将它们传递给了团队。即:

  • 避免清除只读操作的撤消堆栈;仅在 'write'.
  • 清除它
  • 考虑某种 copying/serialization 工作方法sheet,以便有一个状态可以恢复。

我们会看看我们能做些什么。

请注意,这是 Excel 特有的内容(我从您的 uservoice 请求中看到),但不应推广到其他 Office 应用程序。例如,在 Word 中支持 API 调用后最终用户驱动的撤消。