Google Apps Scriptのトリガー機能、しっかり活用していますか?
トリガー機能を使えば決まった時刻や頻度、タイミングに、自動でスクリプトを実行することができるのでとても便利です。
当記事では、
- Google Apps Scriptのイベントトリガーとは?
- イベントトリガーの設定方法【5つの手順】
- イベントトリガーの種類と使い方
- イベントトリガー設定時の注意点
というテーマで解説します。
Google Apps Scriptのトリガーとは?
Google Apps Scriptのトリガー機能とは、いわゆるスケジューラ機能です。決まった時刻や頻度、タイミングに、自動でプログラムを実行してくれる機能のことです。
トリガー機能を活用することで、人間がプログラムの実行を制御しなくて良くなるので、運用が楽になるというメリットがあります。
トリガーの設定方法【5つの手順】
Google Apps Scriptのトリガーは、以下5つの手順で設定できます。
- 「トリガーボタン」をクリック(時計マーク)
- 「トリガーを追加」をクリック
- トリガーの詳細を設定
- Googleアカウントでログイン
- トリガーが設定されたのを確認
1手順ごとに解説していきます。
「トリガーボタン」をクリック(時計マーク)
スクリプトの編集画面を開き、右上にある「トリガーボタン」をクリックします。
時計のようなマークをしているのが「トリガーボタン」です。
「トリガーを追加」をクリック
「トリガーボタン」をクリックしたら、トリガー設定画面が開きます。
トリガー設定画面を開いたら、右下にある青いボタン「トリガーを追加」をクリックして、トリガーを追加します。
トリガーの詳細を設定
「トリガーを追加」をクリックしたら、トリガーの詳細を設定するポップアップが表示されます。
基本的には赤枠で囲っている項目を設定すればOKです。
実行する関数を選択
実行する関数をプルダウンで選択します。
イベントのソースを選択
どのようなイベントでトリガーを起動するか選択し、「保存」をクリックします。
イベントの3種類
- スプレッドシート
- 時間主導
- Googleカレンダー
それぞれの設定方法については次節で解説します。
Googleアカウントでログイン
Google Apps ScriptはGoogleアカウントによって実行されます。
まだ一度もプログラムを実行していなければGoogleアカウントへのログインが求められますので、実行に使いたいGoogleアカウントを選択し、ログインしましょう。
なお、このときに「安全でないアプリ」という警告がされることがあります。この警告への対処法については、記事の最後で解説しているので、警告されてしまった人はそちらを参考にしてください。
トリガーが設定されたのを確認
ログインに成功したら、無事にトリガーが生成されているか確認してください。
画像のように新しいトリガーが表示されていれば成功です。定期的にエラーが起きていないか「エラー率」をチェックするのも保守性の観点で大切です。
トリガーイベントの種類一覧と使い方
トリガーを実行するタイミング(イベント)の種類と、それぞれの使い方について解説します。
すでに紹介した通り、Google Apps Scriptのイベントトリガーには以下の3種類があります。
- スプレッドシート
- 時間主導
- Googleカレンダー
1種類ずつ解説していきます。
スプレッドシートから
スプレッドシートを起点として実行されるイベントトリガーです。
イベントの種類としては以下の4種類があります。
イベントの種類 | 内容 |
---|---|
起動時 | スプレッドシートを起動したとき |
編集時 | スプレッドシートを編集したとき |
変更時 | スプレッドシートを変更したとき |
フォーム送信時 | フォームを送信したとき |
編集時と変更時の違い
「編集時」は、列や行の追加・削除など、スプレッドシートに何らかの編集を加えた際に起動します。
一方「変更時」は、セルの値を書き換えたときにしか起動しません。
フォーム送信時って?
Googleフォーム送信時に起動するトリガーです。
主にフォームの回答内容を取得して、メールや通知、データの保存などを行いたいときに使います。
スプレッドシートやGmailから作成したスクリプトでは使えないことに留意してください(Googleフォームから作成したスクリプトでトリガー設定)。
時間主導型
日時を起点として実行されるトリガーイベントです。
イベントの種類としては以下の6種類があります。
トリガーのタイプ | 設定項目 |
---|---|
特定の日時 | 任意の日時に実行 |
分ベースのタイマー | 1分おきに実行 5分おきに実行 10分おきに実行 15分おきに実行 30分おきに実行 |
時ベースのタイマー | 1時間おきに実行 2時間おきに実行 4時間おきに実行 6時間おきに実行 8時間おきに実行 12時間おきに実行 |
日付ベースのタイマー | ◯時〜◯時に実行(1時間区切り) |
週ベースのタイマー | 毎週◯曜日に実行 |
月ベースのタイマー | 毎月◯日に実行 |
カレンダーから
カレンダーを起点として実行されるトリガーイベントです。
イベントの種類としては以下の1種類があります。
トリガーの種類 | 設定項目 |
---|---|
カレンダー更新済み (カレンダー更新時に実行) |
カレンダーオーナーのアドレス |
トリガー設定時の注意点
トリガー設定時に注意すべき点についてまとめました。
めったにひっかかることはないでしょうが、もしものときには参考にしてください。
安全でないアプリと警告されたとき
どのようなパターンで表示されるのか不明ですが、人によってはスクリプトを実行したりトリガーを設定したりする際に「安全でないアプリ」と警告を受けることがあるそうです。
対処法としては、以下の手順で警告を無視して設定すればOKです。警告されてはいますが、警告されているアプリ(Google Apps Scriptのコード)を作ったのはあなたなので、特に心配する必要はありません。
「詳細」をクリック
「安全でないページ」に移動
「許可」をクリック
トリガーの設定数に制限がある
Google Apps Scriptでは、無限にトリガーを設定できるわけではありません。
「1人のユーザーは1つのスクリプトに対して最大20までしかトリガーを設定できない」という制限があるので注意しましょう。
まとめ
今回は「Google Apps Scriptのトリガーとは?」「トリガーの設定方法【5つの手順】」「トリガーの種類と使い方」「トリガー設定時の注意点」について解説しました。
Google Apps Scriptのトリガー機能はとても使い勝手が良いです。無料でここまでできるのは本当に奇跡なので、みなさんもぜひ活用してみてください。
では、また。