
GAS超初心者講座4:実行も自動化!さまざまトリガーまとめ
はじめに
前回は、`remindPendingItems()` を手動実行して、未対応だけをメールとSlackへ通知しました。
今回はこの関数を、毎朝9時台に自動で動かします。
GASでは「いつ動かすか」を決める仕組みを トリガー と呼びます。

トリガーには種類がある
まずは名前だけで大丈夫です。
時間主導型: 毎日9時など、時間で動く
起動時: ファイルを開いたときに動く
編集時: セル編集で動く
フォーム送信時: 回答時に動く今回使うのは 時間主導型トリガー です。

AIへの頼り方
AIには「既存関数を自動実行したい」と伝えます。
`remindPendingItems()` は残し、トリガー設定用の関数だけ追加します。
AI依頼文例
Google Apps Scriptで、既存の関数 remindPendingItems() を毎朝9時に自動実行したいです。
時間主導型トリガーを作成するための setupDailyReminderTrigger() を作ってください。
同じトリガーが重複して増えないように、既存の remindPendingItems 用トリガーを消してから作り直す形にしてください。
GAS初心者にも分かるように、どの関数を一度だけ手動実行するかも説明してください。通知処理とトリガー作成処理は分けます。
トリガー設定用コード
次を追加します。
function setupDailyReminderTrigger() {
const functionName = 'remindPendingItems';
ScriptApp.getProjectTriggers()
.filter(trigger => trigger.getHandlerFunction() === functionName)
.forEach(trigger => ScriptApp.deleteTrigger(trigger));
ScriptApp.newTrigger(functionName)
.timeBased()
.everyDays(1)
.atHour(9)
.create();
}`.timeBased()` は時間主導型、`.everyDays(1)` は毎日、`.atHour(9)` は9時台です。
ぴったり9:00ではなく、9時台のどこかで実行されます。

一度だけ手動実行する
Apps Scriptで `setupDailyReminderTrigger` を選び、一度だけ実行します。
初回は権限確認が出るので、内容を確認して許可します。
成功すると、「トリガー」に `remindPendingItems` が追加されます。
予約のために、`setupDailyReminderTrigger` だけを一度実行します。

うまく動かないとき
確認するのは3つです。
1. remindPendingItems を手動実行すると通知が届くか
2. setupDailyReminderTrigger を一度実行したか
3. トリガー一覧に remindPendingItems が登録されているかエラー文は省略せずAIへ渡します。「権限」「関数が見つかりません」「プロパティ未設定」などが直す場所のヒントです。
まとめ
今回は、`remindPendingItems()` を毎朝9時台に動かす時間主導型トリガーを作りました。
通知関数を完成させる、トリガー作成関数を追加する、一度だけ手動実行する。この順番なら、GASの自動化は扱いやすくなります。
【今日の私のひとこと】
全4回の超初心者講座を行ってきましたが、
トリガー実行までの導線を知っていたら、あとは生成AIに頼ればどんなことだってできますね!
次は、「AIと一緒にGAS自動化シリーズ」を進めていけたらと思っています。
#GoogleAppsScript #GAS #業務効率化 #スプレッドシート #note #GAS初心者 #AppsScript #トリガー #時間主導型トリガー #自動実行