2

以下は常に 0 を示します。

var gNumber = 0;

function myTest() {
  Browser.msgBox(gNumber);
  gNumber++;
}

もちろん、ScriptProperties または UserProperties を使用して値を永続的に保存することもできます。単純な値には問題ありませんが、文字列化しない限り、オブジェクトには機能しません。しかし後者では、シートを開いてメソッド (get、set) で操作できるようにするオブジェクトを永続的に保存することはできません。

Customers スプレッドシートの情報を使用する Orders スプレッドシートがあります。注文を確認するたびに、Customers スプレッドシートを開いて、そのデータを配列にロードする必要があります。Customers を何度も開く必要がないように、オブジェクトを永続的に保持する方法はありますか?

恒久的とは、スクリプトに関連付けられたシートが開いている限りという意味です。

それを行う方法はありますか?

4

1 に答える 1

4

変数を一時的に保存する必要がある場合は、CacheServiceを使用します。より永続的なストレージ (スプレッドシートと同様) が必要な場合は、ScriptDbを利用できます。

もちろん、ScriptProperties / UserProperties も使用できますが、ScriptProperties の制限にすぐに達する可能性があるため、ScriptProperties よりも CacheService を好みます。

于 2012-12-26T11:35:31.630 に答える