BACK
|IT

【GAS】何毎時何分に動くトリガーの設定方法-プログラムで制御-

みなさん、こんにちは!こんばんは!meguです。

今回は、便利なGASについてです。

皆さんは、GASで「トリガー」設定をすることはありますか?

トリガーを使ったことがない方は、こちらをどうぞ!

ただ、管理画面から設定できるトリガーでは毎時○○分のタイミングで実行してほしいといった事ができません。

プログラムのトリガータイミングを設定する際の関数を作ったのでメモ程度に記載します!

実際のコード

function setTrigger(func_name, hours, minutes) {
  var triggers = ScriptApp.getProjectTriggers();
  if (triggers) {
    for(var i=0; i < triggers.length; i++) {
      if (triggers[i].getHandlerFunction() == func_name) {
        ScriptApp.deleteTrigger(triggers[i]);
      }
    }
  }
  var trigger_setTime = new Date();
  trigger_setTime.setHours(trigger_setTime.getHours() + hours);
  trigger_setTime.setMinutes(minutes); 
  ScriptApp.newTrigger(func_name).timeBased().at(trigger_setTime).create();
}

使い方

引数

func_name:トリガーに指定したい関数の名前(文字:"testFunction" など)

hours:何時間後にトリガーを設定したいか(数字)

minutes:何分のタイミングでトリガーを実行したいか(数字)

サンプル

setTrigger("testFunction", 1, 5);

これは、毎時05分のタイミングで実行

まとめ

上記の関数をコピペすれば、トリガーの設定をすることができます!

トリガーに設定したい関数の最初で呼び出してあげれば、その後は指定のトリガーのタイミングで関数を動かすことが出来るのでぜひお試しください!

GASは出来る限り時間をかけず、コピペできるところはどんどんコピペしていきましょう〜!

以上。