等待脚本加载,然后运行脚本

时间:2019-06-12 13:53:18

标签: google-apps-script

我有多个用户,他们在不同的工作地点通过Google表单提交每日进度信息。

所有数据都被转储到一张纸中->将其称为母版纸

我创建了单独的工作表,这些工作表使用query函数来过滤与每个网站相关的数据->称其为单个网站工作表

每个月,我都有一个Google Apps脚本,该脚本可按月为每个站点的响应创建pdf摘要。一段时间以来,这种方法一直运行良好,但是最近,该脚本运行并创建了一个没有任何数据的pdf。

当我尝试解决此问题时,我认为我看到了问题。现在,母版表已经收集了1000多个数据行,每个单个网站表的查询功能需要花费几秒钟来加载。在加载期间,脚本在单个站点中运行,没有任何数据。

有没有办法确保相关数据在应用脚本在该工作表上运行之前已完全加载?也许带有setTimeout或一些on.load函数?

1 个答案:

答案 0 :(得分:1)

好吧,我不会在这里使用公式对数据进行分叉。取而代之的是,我将创建一个脚本以将数据扔到各自的工作表上并将其放在FormSubmit触发器上。这样,目标表上的数据将是静态的,并且生成PDF的脚本就可以了。

注意:具有较大数据集的公式始终会以一种或另一种方式导致脚本执行出现问题。

P.S。不要忘记使用SpreadsheetApp.flush()这个非常重要的部分,请查阅GAS支持文章中的文档。