我创建了一个名为onEditIsTriggered(e)
的函数,我已经为事件"来自电子表格" => "编辑"。我也让自己立即通过电子邮件收到任何错误。
如果我以正常速度正常编辑我的工作表上的单元格,则会正确调用该事件并且一切正常。虽然,如果我非常快速地编辑我的单元格,它可能会随机地跳过每20个单元格(平均)2或3次调用,与输入相同的值。
我已经通过在onEditIsTriggered
函数的最顶部添加此代码来测试了这一点:Browser.msgBox(JSON.stringify(e));
然后,如果我非常快速地编辑2个单元格(我已经能够用2个单元格重现它)完美的每一次),消息框只打开一次,然后一旦我按下确定,脚本成功运行第一个值,但第二个值没有任何内容。如果我以较小的延迟(大约0.5秒或更短)更改两个单元格,那么我会得到两个提示,并且两个值都通过脚本运行。
这是一个已知问题吗?或者是否有我没有找到任何文件的费率限制?我的方法不是正确的吗? (只有当我使用向下箭头快速编辑2个单元格并快速输入数据时才会发生这种情况,这在我的情况下是一个真实的用例)
我的目标是在不同的关联单元格之间同步相同的值。因此,当在其中一个值上检测到更改时,我会将修改应用于其他值。有了这个问题,我就不可能设计一个可以使用" On edit"事件,并且必须每5分钟恢复一次扫描,但它会产生同时修改2个相关单元格的风险,而且我的脚本不知道选择哪个。