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