我是谷歌应用程序脚本的新手,我正在考虑如何避免在我的应用程序中对谷歌电子表格进行多余调用。
如果我在这样的函数中打开一个电子表格:
var ss = SpreadsheetApp.openById("id");
我可以在多长时间内访问此表
var ss = SpreadsheetApp.getActiveSpreadSheet();
就在函数内部?
第二种变体实际上有助于加快我的脚本速度吗?
我当然可以将第二个var声明为全局变量但我只会这样做才有意义(封装等)。
答案 0 :(得分:1)
我不是一位专家,但就我所知,第二次电话绝对是多余的。使用openbyid,您可以获得使用电子表格所需的一切。在脚本结束之前它一直处于打开状态。
答案 1 :(得分:0)
只要变量存在于其范围内,就可以使用它。你不能序列化它。 如果你把它放在全球范围内它也会起作用。请记住,全局将在下一次脚本调用时重置,它们不会在请求之间保持不变。 我怀疑getActiveSpreadsheet与id开放有什么不同。