今回はGASを自動化させるトリガー設定についてご説明します。

毎朝7時に僕のTodoリストメールしてよ

(…就業時間前だろ)
トリガー設定とは
トリガーとは、指定した時間と特定のイベント時に自動的にスクリプトを実行させる設定です。たとえば、定期的なデータ更新やバックアップ、メール送信などを自動化できます。また、特定の方法で入力された場合に通知を送るなど、リアルタイムの自動化も可能です。
ただし、トリガーが作動しない場合、エラー通知などの処理を実装しないと問題に気づくのが遅れることがあります。また、Google Apps Script には一日の実行回数や時間の制限があるため、大量のデータを扱っている場合にはエラーが発生し、トリガーが実行されないこともあるので注意が必要です。
トリガー設定の手順
今回はスプレッドシートを例にトリガー設定の手順をご紹介します。

「拡張機能」から「Apps Script」に移動。

サイドバーにある時計のアイコン「トリガー」を選択。このときFunctionの後の関数はあとで使うので覚えておくといいです。(画像では見ずらいですが黄色で囲っている箇所)

右下の青色のボタン「トリガーを追加」をクリック。

実行する関数は先ほど黄色で囲っていたfunctionに続く関数を、イベントソースは「Head」を選択します。

次のイベントソースは自動化したいタイミングによって違うので分けて説明します!
実行するきっかけ(きっかけ)を設定

トリガーとは引き金やきっかけを意味する単語です。GASも同様に実行する引き金「イベントソースのきっかけ」を設定しなければなりません。きっかけは次の3つから選ぶことができます。
選択肢 | 実行するタイミング |
スプレッドシートから | スプレッドシートに変更があれば実行する (他のグーグルアプリの場合は名前が違う、または選択肢にない) |
時間主導型 | 指定した時間で実行する |
カレンダーから | グーグルカレンダーに変更があれば実行する |
次で上から順に説明します。
スプレッドシートから

イベントソースのきっかけを「スプレッドシートから」に選択すると、「イベントの種類を選択」が現れます。スプレッドシートからはユーザーの動向によってリアルタイムで稼働するトリガーです。イベントには次の4つの種類があります。
選択肢 | 例 |
起動時 | スプレッドシート起動時に実行されます。ユーザーがスプレッドシートを開いたときに、実行されるので、スプレッドシートがいつ誰によって開かれたかを追跡できます。 |
編集時 | スプレッドシートが編集された時に実行されます。編集した内容をログとして記録できるので、データがいつ、誰によって更新されたかを追跡できます。 |
変更時 | スプレッドシートの内容が変更された時に実行されます。スプレッドシートに新しいシートが追加されたり、既存のシートが削除されたりしたとき実行されます。シートの構造変更が監視され、誰がどのような変更を行ったかを把握できます。 |
フォーム送信時 | Googleフォームに紐づいたスプレッドシートがあるときに送信時に実行されます。送信されたときに、そのデータを集計し、特定の条件に基づいて通知を送る。これにより、フォームからのデータ収集が自動化され、重要な情報が即座に関係者に通知されます。 |
ログを残したいときや、編集したときのポップアップや分岐処理などは「スプレッドシートから」のトリガーを選択してください。
時間主導型

イベントソースのきっかけを時間主導型にすると、「時間ベースのトリガーのタイプを選択」が現れます。時間主導型は事前に指定した時間にGASを実行させるトリガーです。選択肢によって細かい時間設定が行えます。
時間ベースのトリガーのタイプを選択 | 次の選択肢 | 次の選択肢 |
特定の日時 | 日付を入力(YYYY-MM-DD HH:MM) | なし |
分ベースのタイマー | 1分おき、5分おき、10分おき、15分おき、30分おき | なし |
時間ベースのタイマー | 1時間おき、2時間おき、4時間おき、6時間おき、8時間おき、12時間おき | なし |
日付ベースのタイマー | 午前0時〜1時、午前1時〜2時、、、 | なし |
週ベースのタイマー | 月曜日から日曜日 | 午前0時〜1時、午前1時〜2時、、、 |
月ベースのタイマー | 1日から月末まで | 午前0時〜1時、午前1時〜2時、、、 |
例えば「月ベースのタイマー」で「24日」、「午後3時〜4時」に設定すると、毎月24日の午後3時から4時にスクリプトが稼働します。

きつね部長のTodoリストの場合「スプレッドシートから」→「日付ベースのタイマー」→「午前6時〜7時」を選択します。午前7時〜8時だと7時から8時のどこかで実行されることになりますので、早めに設定しておきましょう

ええ、早ければ6時にメールくるってこと?
カレンダーから

イベントソースのきっかけを「カレンダーから」にすると、「カレンダーの詳細を入力」を選択ができます。カレンダーからは「カレンダー更新済み」、つまり指定したGoogleカレンダーが編集された時に自動で実行されるトリガーです。
ここで入力するメールアドレスは、GASを動作させるカレンダーです。もし自分のアカウント以外のカレンダーを参照する場合は、所有者にカレンダーを事前に共有してもらう必要があります。
まとめ
ここまででGASを自動化させるトリガー設定についてご説明しました。当記事があなたの参考になれば幸いです。

今日の会議何時からだっけ?

(メール送っても意味ないんかい)
コメント