【问题标题】:Joining multiple edits in a single undo/redo command在单个撤消/重做命令中加入多个编辑
【发布时间】:2012-05-13 23:04:20
【问题描述】:

我的脚本对Ranges 执行多个moveTo 操作。一切都很好,除了一旦脚本完成每个特定的moveTo 是一个单一的可撤销操作。因此,如果用户决定这不是他所需要的,他必须逐步撤消(对他而言)未知的次数。 (在连接缓慢/无响应以及由于撤消列表中缺少命令描述的情况下,这甚至会很困难。)

做一个getValues/setValues 可以解决这个问题。但前提是所有数据都在一张纸上(否则你必须做多个getValues/setValues,这会让我们回到同样的问题)。此外,它似乎有点贵(尤其是对于大工作表)并且在格式和公式方面存在问题。

那么还有其他解决办法吗?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    不是代码中的解决方案,但您的用户可以按时间“分组”更改。您的脚本将在短时间内完成所有这些更改。您只需转到这些更改的顶部并单击恢复,这将恢复您的脚本所做的所有更改。

    我不确定用户将如何识别更改。

    在使用 Google Docs 还原过程时,您无法选择接受和拒绝哪些更改。

    【讨论】:

    • 您是什么意思“转到这些更改的顶部”?您在哪里以及如何做到这一点?
    • 在电子表格中,使用文件 |请参阅修订历史。查看历史记录以找到适用的更改。通过查看时间戳(和用户)转到“顶部”以查看您的多个 moveTo 更改何时发生。恢复到第一次 moveTo() 之前的版本。注意:您的 moveTo 更改可以与其他更改合并,在这种情况下,请使用“显示更详细的修订”按钮。
    • 这恐怕不是很人性化。但总比没有好。
    • 我不反对,但您没有太多其他选择。每次使用 App Script API 调用 moveTo/setValue(s) 都会对修订历史记录进行更改。
    猜你喜欢
    • 2020-11-28
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2012-12-21
    • 2023-03-10
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多