Google Apps 脚本中的持久变量

bal*_*tom 1 google-apps-script

以下始终显示 0 :

var gNumber = 0;

function myTest() {
  Browser.msgBox(gNumber);
  gNumber++;
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以使用 ScriptProperties 或 UserProperties 永久存储值。对于简单值来说很好,但它不适用于对象,除非我将其字符串化。但对于后者,我无法永久存储打开工作表并让我通过方法(获取、设置)操作它的对象。

我有一个订单电子表格,它使用客户电子表格中的信息。每次检查订单时,我都需要打开客户电子表格并将其数据加载到数组中。有没有办法永久保留对象,这样我就不需要一遍又一遍地打开客户?

我所说的永久是指只要与脚本关联的工作表处于打开状态!

我有办法做到这一点吗?

Sri*_*rik 6

如果您需要临时存储变量,请使用CacheService。如果您想要更多持久存储(类似于电子表格),那么您可以使用ScriptDb

当然,ScriptProperties / UserProperties 也可供您使用,但我更喜欢 CacheService 而不是 ScriptProperties,因为您可以很快达到 ScriptProperties 的限制。