如何使用 JavaScript API 实现 Office 加载项的"撤消"功能



如何使用JavaScript API为Office Add-In实现"撤消"功能?

目前,用户对外接程序所做的所有更改都是不可逆的,而且Microsoft似乎没有找到一种简单的方法来使外接程序更改"可撤消"。尽管开发人员一直在请求这个功能:

  • https://officespdev.uservoice.com/forums/224641-general/suggestions/10754793-add-a-method-to-copy-a-sheet-with-all-data-and-for
  • https://officespdev.uservoice.com/forums/224641-general/suggestions/6273172-allow-edits-made-by-office-js-api-functions-setda

谢谢你提起这件事。

不幸的是,当您执行API时,撤消堆栈会被清除,这对于Excel来说是不可避免的。在VBA或VSTO中也会出现同样的行为,这与Excel的基本设计方式有关。也许我们可以更好地记住琐碎操作的撤销,但即使是UI本身或Excel Online也会清除删除工作表等操作的撤销堆栈。

话虽如此,我非常感谢这两个建议,并已将其传达给团队。即:

  • 避免清除只读操作的撤消堆栈;只在"写入"时清除
  • 考虑一下工作表的某种复制/序列化方法,这样就可以恢复到一种状态

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

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

最新更新