【问题标题】:onSelectionChange gets interrupted when changing sheets in Google Sheets在 Google 表格中更改工作表时 onSelectionChange 被中断
【发布时间】:2021-03-03 16:31:49
【问题描述】:

我在脚本中有一个连接到工作表的函数:

function onSelectionChange(e) {
    // code
}

问题是,当我更改为不同的工作表时,执行会停止并且新的工作会在新工作表上开始。

有什么方法可以确保之前的执行在终止前完成所有任务?

编辑:

我开始意识到问题在于,如果有足够快的另一个调用,触发器将不会总是在事件上执行。而且似乎对此没有解决办法。

【问题讨论】:

  • 您也可以使用 changeType 来解决您的问题,我相信这些功能必须在 30 秒内结束
  • 我认为执行不会停止,因为还有另一个执行。所有的处决都已完成。我认为问题是@Cooper 所说的。代码终止,因为它无法在 30 秒内完成。要验证是否是这种情况,请转到执行页面并检查执行是否成功完成或返回错误消息(失败)。
  • 因为限制非常严格,您应该充分利用代码中的事件对象e。这就是@Cooper 说您应该使用changeType 的原因,因为这样您就不会在每次选择更改时都执行//code
  • 在这种情况下我将如何使用changeTypechangeType 不是 onChange 触发器,它不会在选择更改时触发?每次用户更改选择时,我都需要触发我的代码。 @Mario @Cooper
  • 您在“执行”页面上看到了什么? @阮

标签: google-apps-script google-sheets


【解决方案1】:

不幸的是,没有办法确保所有选择都触发所需的功能,尤其是在快速进行这些更改的情况下。

但是,根据您的 onSelectionTrigger 触发器代码的外观,您可能能够以这样一种方式对其进行优化,以使您的所有更改最终都会触发它。 p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多