触发功能和IMPORTRANGE(Triggered functions and IMPORTRAN

2019-07-30 20:06发布

我有一个谷歌Apps脚本是比较在谷歌的形式的信息被带入使用IMPORTRANGE功能的谷歌电子表格提交的信息。 该脚本完美的作品,如果我手动运行它,但如果从表单提交运行它触发报告说,它是没有得到使用IMPORTRANGE单元格中的正确的信息。

有没有解决的办法,就像是有一个快速的功能,我可以补充一点力进口范围更新?

我已经尝试添加的长达10分钟的等待时间,并没有改变结果。

Answer 1:

这个问题是一个像功能如何importRange工作。 其实,他们需要相同的访问/权限登录使用它们,以避免安全漏洞的用户帐户(想象你自己的访问还没有与他们共享其他电子表格电子表格的编辑器)。

正因为如此(当然,至少这是我认为的),当你有表格打开这些公式仅评估。 当您关闭它,离开脚本在运行触发,它不会找到预期的细胞的任何结果。

一个简单的解决方法,这是使用脚本本身获取数据,并使用退出importRange 。 这是很容易做到的,如

var values = SpreadsheetApp.openById('external-spreadsheet-key').
  getSheetByName('Sheet1').getRange('A1:D100').getValues();
SpreadsheetApp.getActive().getSheetByName('DestSheet').
  getRange(1,1,values.length,values[0].length).setValues(values);

很显然的是,电子表格密钥,工作表的名称和范围在这里只是一个例子。



文章来源: Triggered functions and IMPORTRANGE