【GAS入門】onChangeトリガーの使い方〜動かないときはどうする〜
GASでonChangeトリガーを設定したんだけど、どうも動かないんだ…。何か設定ミス?

猫男

catman
そんなときこそcatmanの出番さ。
GASのonChangeトリガーの使い方
Google Apps Script(GAS)の onChange トリガーとは、
スプレッドシートの構造が変化したとき(シートの追加・削除、名前の変更、範囲の移動など)に発火するトリガーのこと
だったな。
基本的な使い方を見ていこう。
1. スクリプトを書く
関数名を「onChange」、引数を「e」とする関数を書くぞ。スプレッドシートに紐づいたコンテナバインド型のスクリプトを用意しよう。
function onChange(e) {
Logger.log(JSON.stringify(e));
}
onChange(e)
の e
にはイベントオブジェクトが渡され、どんな変更があったかを確認できるはずだ。
例えば、シートのセルの値を変更すると、こんな感じのログが出力される。
{“authMode”:”FULL”,”changeType”:”EDIT”,”source”:{},”triggerUid”:”1234567890″,”user”:{“email”:”xxxxxxxx@gmail.com”,”nickname”:”xxxxxxxx”}}
2. トリガー設定
がしかし、onChange はインストール型トリガーだから、手動でトリガー設定が必要だ。
トリガーを自分で設定しないとピクリとも動かない点に注意してくれよな。
左の時計マークからトリガーを設定しよう。
設定項目は以下の通り。
項目 | 選択内容 |
---|---|
実行する関数を選択 | onChange |
デプロイ時に実行 | Head |
イベントのソースを選択 | スプレッドシートから |
イベントの種類を選択 | 変更時 |
エラー通知設定 | 毎日通知を受け取る |
この設定が完了すれば、onChangeトリガーはきっと発動されるはずだ。
なるほど!onChangeトリガーは設定もよく確認しないとってことですね。

猫男

catman
そうだ。問題を一つずつ解決すれば、GASをもっと楽しめるはずさ。