Google Apps Scriptトリガー設定手順
Google Apps Scriptで作成したプログラムを時間に応じて定期的に実行したり、特定の条件に応じて実行するためには「トリガー」を設定する必要がある。詳しく知りたい人は公式ドキュメントを見ていただくとして、どっちかという、とりあえずトリガー設定だけする人向けに手順紹介。
1. Google Apps Scriptトリガーページとトリガー追加
Google App Script Code Editorの画面左側ツールバー、上から4つ目にある「時計」ロゴがトリガーページを開くボタン。ここをクリックしましょう。
トリガーページを開くとこんな画面になる。
新しくトリガーを設定するときには、画面右下にある「トリガーを追加」のボタンを押下(上のスクショ参照)。
※トリガー設定時の注意点
Google Apps Scriptのトリガーは、トリガーを設定したGoogleアカウントでしか変更・削除を行うことができません。設定する際にログインしているGoogleアカウントが違うアカウントになっていないか確認しましょう。
プログラムの知識がない提供相手に設定してもらう場合は、ぜひこの記事のURLを共有してあげてください😀
2. Time Trigger
ここからは具体的なトリガーの設定内容についての話。まずは最も設定することが多いであろう時間をトリガーにする設定。例えば、「毎日朝8時に実行」とか、「3時間に1回定期実行」とか、そういう感じの設定。
それぞれの項目選択が終わったら、設定ポップアップ右下にある「保存」を押して設定完了。
※時間トリガー設定の注意点
時刻 / 曜日 / 日付を選択するケースのとき、より具体的な実行時間を選択することはできず、範囲内のどこかでランダムに実行されます。
例:たとえば上のスクショの設定のとき、午前0時〜午前1時の範囲のどこかでランダムに実行される。「0時30分に実行して欲しい!」のような設定はできない。
3. Google Sheets Trigger
次、Google Sheetsをトリガーにするときの設定。たとえば、「特定のセルが書き換わったときに実行」とか、「行が追加されたときに実行」とか、そういう感じのときのトリガー。
設定できるイベントの種類は次の4つ。
大体は「変更時」を選択することが多いんじゃないかなという感触。
それぞれの項目選択が終わったら、設定ポップアップ右下にある「保存」を押して設定完了。
※「編集」と「変更」どっち設定したらいい?
「編集と変更の違いってなんやねん」ってなると思うんですけど、この違いを詳しく検証してくれている記事を見つけたので興味ある方は読んでみると良いでしょう。
※シートに設置したボタンを押して実行したい
これは割と多い。なんならシートトリガーを設定するよりもボタンを設置するときの方が圧倒的に多い。私の個人的に使わない理由はシートトリガーを設定すると暴発が多いから。「意図しないときにプログラム実行されて、シートがめちゃくちゃになっちゃったー」みたいなのは結構よくある。
それなら時間で定期実行をかけるか人為的に実行ボタンを押して実行する方が安定するよなーと。で、ボタンを設置する場合の設定手段は次の2つ。
①ツールバーに実行ボタンを設置
説明し始めると長くなるので、黙って以下のコードをコピペしてどうぞ。
/**
* スプレッドシートツールバーにメニューを作成
*/
function onOpen(){
const ui = SpreadsheetApp.getUi();
const workreport_menu = ui.createMenu('GAS実行');
workreport_menu.addItem('[ボタンの名前]', '[実行するfunction名]');
workreport_menu.addToUi();
}
②図形にプログラムを割り当て
これも説明し始めると長くなるので、以下のスクショを真似てみてどうぞ。
4. Google Form Trigger
Googleフォームについては「フォーム送信時」一択でしょう。フォーム送信されたことをトリガーにしてプログラムが実行する。この状況を作るためのトリガー設定。
それぞれの項目選択が終わったら、設定ポップアップ右下にある「保存」を押して設定完了。
5. Google Calendar Trigger
GoogleフォームやGoogleスライド、Googleドキュメント、独立したGASファイルから設定できるカレンダートリガーの設定。たとえば、「予定が新規追加されたときに実行したい」とか、「特定の予定が変更されたときに実行したい」とかのときに設定するトリガー。
それぞれの項目選択が終わったら、設定ポップアップ右下にある「保存」を押して設定完了。
この記事が気に入ったらサポートをしてみませんか?