search
LoginSignup
3

More than 1 year has passed since last update.

posted at

updated at

【GAS】スクリプトの進行状況を表示する

概要

スプレッドシート上にプログレスバーみたいな表示を出して、GASの進行状況が分かれば良いのに・・・と思って何か方法がないか試してみた。

方法

ダイアログだと何か押すまで動作が止まるので、ポップアップの表示時間を指定できるトーストメッセージを使用。

トースト使い方

.toast(msg, title, timeoutSeconds)
メッセージとタイトルは文字列で、タイムアウトセコンドは数字を入力。

タイムアウトセコンドがゼロだと、次のトーストメッセージが表示されるか、トーストメッセージをクリックするまで表示され続けるみたい。

コード


function progress(){

  var ss = SpreadsheetApp.getActiveSpreadsheet();

  for(var i=1; i<=10; i++){

    ss.toast(`進行状況${i}0%`, '実行中', 0);
    Utilities.sleep(1500);

  }
  ss.toast('完了しました', '実行終了', 3);
}

取り合えず適当に10回の繰り返しを作成。iが1~10になるので、i+'0%'を進行状況としてトースト表示。表示が早すぎないように1.5秒ずつ待機時間を設定。繰り返しが終わったら実行終了のトーストを3秒間表示。

実行結果

ezgif.com-gif-maker.gif
これは鬱陶しいな・・・^^;

おしまい

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
What you can do with signing up
3