Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google应用程序脚本中的持久变量_Google Apps Script - Fatal编程技术网

Google apps script Google应用程序脚本中的持久变量

Google apps script Google应用程序脚本中的持久变量,google-apps-script,Google Apps Script,以下内容始终显示0: var gNumber = 0; function myTest() { Browser.msgBox(gNumber); gNumber++; } 当然,我可以使用ScriptProperties或UserProperties永久存储值。对于简单的值很好,但除非我将其字符串化,否则它对对象不起作用。但对于后者,我无法永久存储打开工作表并让我通过get、set方法对其进行操作的对象 我有一个订单电子表格,它使用客户电子表格中的信息。每次检查订单时,我都需要打开客

以下内容始终显示0:

var gNumber = 0;

function myTest() {
  Browser.msgBox(gNumber);
  gNumber++;
}
当然,我可以使用ScriptProperties或UserProperties永久存储值。对于简单的值很好,但除非我将其字符串化,否则它对对象不起作用。但对于后者,我无法永久存储打开工作表并让我通过get、set方法对其进行操作的对象

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

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


有什么方法可以做到这一点吗?

如果需要暂时存储变量,请使用。如果您想要类似于电子表格的更持久的存储,那么您可以利用


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

如果需要暂时存储变量,请使用。如果您想要类似于电子表格的更持久的存储,那么您可以利用


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

是的,缓存服务似乎部分满足了我的需求。我将尝试使用对象,看看它是否适用于我的特定情况。GAS中的全局变量是常量,如果它们被指定为如上所示的值。如果它们只是声明的,而不是在全局范围中定义的,那么它们将接受您在方法中设置的任何值,并且在脚本的一次执行中对所有方法都可用。任何长期存储都需要Srik提到的方法之一。您的电子表格示例是一个“特例”:您可以将数据数组作为全局变量获取,并且它确实可用于所有其他函数。如果您需要更改数组中的某些数据,只需执行此操作并将数组写回SS,这样更改就不会丢失。这使更改很容易“持久化”,请快速查看我从何处获得一个名为“data”的数组,并在整个脚本中使用它。是的,CacheService似乎部分满足了我的需要。我将尝试使用对象,看看它是否适用于我的特定情况。GAS中的全局变量是常量,如果它们被指定为如上所示的值。如果它们只是声明的,而不是在全局范围中定义的,那么它们将接受您在方法中设置的任何值,并且在脚本的一次执行中对所有方法都可用。任何长期存储都需要Srik提到的方法之一。您的电子表格示例是一个“特例”:您可以将数据数组作为全局变量获取,并且它确实可用于所有其他函数。如果您需要更改数组中的某些数据,只需执行此操作并将数组写回SS,这样更改就不会丢失。这使得更改很容易“持久化”,请快速查看我从何处获得一个名为“data”的数组,并在整个脚本中使用它。