【问题标题】:Does Google Sheet onEdit trigger is being executed after sheet is recalculated重新计算工作表后是否正在执行 Google Sheet onEdit 触发器
【发布时间】:2019-10-18 09:59:14
【问题描述】:

我有一个带有 onEdit 触发器的电子表格。 A1 被其他单元格使用,比如 B1。

触发器“监听”A1修改,然后 获得 B1 新价值 来执行其工作。

问题是否保证当onEdit 被触发时B1 已经被重新计算? 例如:

单元格B1包含公式=A1+1

现在 1 被输入到 A1

function onEdit(e){

  var changeRng  = e.range;

  if (changeRng.getA1Notation() == "A1") {
    //Read value from B2
    var b1 = SpreadsheetApp.getActive().getActiveSheet().getRange(1, 2).getValue();
  }

}

变量b1是否保证为2?

【问题讨论】:

  • @ross。我不清楚。 onEditA1 编辑触发。问题已解决。

标签: google-apps-script google-sheets triggers


【解决方案1】:

如果onEdit()A1 的编辑触发,则无法保证B1onEdit() 被触发之前已完成重新计算,尤其是在B1 的重新计算需要大量时间的情况下。

我建议您在 onEdit 函数的开头加入一个 Utilities.sleep() 调用,以便为 B1 中的值提供足够的时间来重新计算。

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多