【GAS入門】onChangeトリガーの使い方〜動かないときはどうする〜

GASでonChangeトリガーを設定したんだけど、どうも動かないんだ…。何か設定ミス?
猫男
猫男
catman
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 はインストール型トリガーだから、手動でトリガー設定が必要だ。

トリガーを自分で設定しないとピクリとも動かない点に注意してくれよな。

左の時計マークからトリガーを設定しよう。

gas onchange

 

設定項目は以下の通り。

 

gas onchange

 

項目 選択内容
実行する関数を選択 onChange
デプロイ時に実行 Head
イベントのソースを選択 スプレッドシートから
イベントの種類を選択 変更時
エラー通知設定 毎日通知を受け取る

 

この設定が完了すれば、onChangeトリガーはきっと発動されるはずだ。

 

なるほど!onChangeトリガーは設定もよく確認しないとってことですね。
猫男
猫男
catman
catman
そうだ。問題を一つずつ解決すれば、GASをもっと楽しめるはずさ。