LoginSignup
25
19

More than 5 years have passed since last update.

Googleスプレッドシートの処理遅延対策

Last updated at Posted at 2018-02-07

GoogleAppsScript(GAS)で、スプレッドシートに記入する処理をする際、
記入したはずなのに印刷時に反映されてなかったりといった、
意図しない結果になることがあります。

これ、たとえば請求書を作ったとして、
宛名は正しいのに金額だけ前のまま、
というような、心臓に悪いバグの原因になります。
しかも発生したりしなかったり、中途半端に発生したりするので、
原因がわかりにくい。検索にも苦労したので以下にメモ。

対策として、下の一行を適宜挿入します。
スプレッドシートの再描画的な処理になるようです。
VBAのDoEvents的に挿入しておけばよいでしょうか。

flush.js
SpreadsheetApp.flush(); // シートの再描画 

他に、処理を遅延させる方法として、

sleep.js
Utilities.sleep(1000); // シートの処理完了を待つ 

も利用できます。単位はミリ秒。
VBAのApplication.WaitやWindowsAPIのSleepにあたります。

25
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
19