###前提・実現したいこと
GoogleAppsScript(GAS)でスプレッドシートの操作をしています.スクリプトに記述した関数を実行するたびに変数の値が更新されていくようなものを作っています.この時,1度関数を呼び出すと,次に呼び出す時には直前に関数を呼び出した際に更新された変数が初期化されてしまいます.これを,変数の値の変化が保持されるようにしたいです.下記の該当のソースコードは,i_defを呼び出した後,testを複数回呼び出すことを想定しています.実行すると,(2, 2)には0しか入力されません.
関数呼び出し終了直前にシートに値を書き出し,関数を呼び出したときにその値を使うようにすればこの問題は解決されますが,処理速度を可能な限り下げたくないため,APIリクエスト回数ができる限り増えないよう他の解決法が知りたいです.
###該当のソースコード
var sheet = SpreadsheetApp.getActiveSheet(); var i; function i_def(){ i = 0; } function test(){ sheet.getRange(2, 2).setValue(i); i = i + 1; }
###試したこと
varをつけずに宣言した場合,その変数はグローバル変数になるということなので,変数の値の更新が保持されるか試してみましたが,結果は変わりませんでした.

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/16 23:50
2022/03/28 10:05