gpt4 book ai didi

google-apps-script - 如何暂停应用脚本直到电子表格完成计算

转载 作者:行者123 更新时间:2023-12-04 10:54:34 32 4
gpt4 key购买 nike

由于 google 电子表格不支持迭代,我编写了自己的简单应用程序脚本来根据电子表格输出的计算调整输入。但是,在更改输入变量后,电子表格会重新计算,但应用程序脚本似乎不会等待重新计算,因此我最终会检索诸如“Thinking...”或“#NA”之类的值。有没有办法在移动到脚本的下一行之前暂停脚本并等待计算完成?

目前,我只是使用循环来观察单元格,但我想知道是否有更优雅的方式来暂停执行,直到工作表完成计算。

我写了很多 Excel 宏,Excel VBA 总是在移动到代码中的下一行之前等待计算完成。 Apps Script 似乎没有这样做,所以我希望有一种简单的方法可以做到这一点。

第二个问题:由于此迭代可能需要一些时间,因此如何中断和终止脚本的运行?我似乎找不到办法做到这一点。

最佳答案

这是一种非常简单的方法,可以防止下一个脚本启动,直到当前脚本在 google 应用程序脚本中完成。只需在您连续处理的每个脚本之后添加对 testWait() 的调用。 SpreadsheetApp.flush() 似乎还将电子表格上的超时计时器重置为默认的 5 分钟,因此您有更多时间一次性处理多个脚本。

//holds processing of next script till last one has completed
function testWait(){
var lock = LockService.getScriptLock(); lock.waitLock(300000);
SpreadsheetApp.flush(); lock.releaseLock();
}

关于google-apps-script - 如何暂停应用脚本直到电子表格完成计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711072/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com