【スポンサーリンク】

Google Apps Script で値を変更したのに反映されない?(SpreadsheetApp.flush())

Google Apps Script で値を変更したのに反映されない?(SpreadsheetApp.flush())

Google SpreadSheetのセルの値を変更したのに、関数などに反映されていないことがあります。

関数の再計算をさせるには、その処理を追加する必要があります。

SpreadsheetApp.flush();

これは、スクリプト実行時は処理の効率化のために、関数の再計算が抑制されているからです。

Google Apps Script で値を変更したのに反映されない?(SpreadsheetApp.flush())

Googleスプレッドシートで、入力フォームからデータ表に追記するスクリプトを作成したのですが、印刷用フォームに反映されない不具合がありました。

ただ、データ表を確認して元にシートに戻ると、いつの間にか数値が直っていたり。
これは、関数の再計算(flush)が原因でした。

flush()

スプレッドシートに対する保留中の変更をすべて適用します1

スプレッドシートのオペレーションは、Range.getValue() を複数回呼び出す場合など、パフォーマンスを向上させるためにバンドルされる場合があります。
ただし、スクリプトの実行中にユーザーデータを表示したい場合など、保留中の変更をすべて直ちに適用したい場合もあります。

(補足)

  1. Class SpreadsheetApp  |  Apps Script  |  Google for Developers
QRコードを読み込むと、関連記事を確認できます。

Google Apps Script で値を変更したのに反映されない?(SpreadsheetApp.flush())
【スポンサーリンク】
タイトルとURLをコピーしました