スプレッドシートに紐付いたGASのトリガー実行4種類を解説(起動/編集/変更/フォーム)
スプレッドシートに紐付いたコンテナバインド型のGoogle Apps Script(GAS)では、スケジュール実行以外に4種類のトリガー実行が可能です。
スプレッドシートでのGASで設定可能な4種類(起動時・編集時・変更時・フォーム送信時)のトリガーを解説します。
スプレッドシートに紐づくGAS
Google Apps Script(GAS)は、スクリプト単体で稼働するスタンドアロンスクリプト以外に、コンテナバインドスクリプトがあります。
コンテナバインドスクリプトはGoogleの各種サービスに紐づく形でGASを利用する形式です。
スタンドアロンスクリプトのGASでは、各種サービスのファイルを呼び出すにはIDやURLを指定する必要があります。
それに対し、コンテナバインドスクリプトでは紐付いているサービスのファイルをIDやURLを指定せずに呼び出せるのがメリットです。
特にスプレッドシートからコンテナバインド型でGASを利用するケースが多くなっています。
※GASのコンテナバインド・スタンドアロン型の違いは以下の記事で解説しています。
スプレッドシートの起動や編集時にGAS実行
通常のGoogle Apps Script(GAS)のスクリプトは、5分、10分、1時間や毎日7~8時に実行といった時間をトリガーにスケジュール登録が可能です。
スプレッドシートに紐付いたコンテナバインドスクリプトのGoogle Apps Script(GAS)では、トリガー実行の条件も追加されています。
スプレッドシートの挙動をトリガーにして、GASスクリプトを実行することができます。
他のGoogleドキュメントやGoogleフォームでもトリガーがありますが、スプレッドシートのトリガー条件が最も多いです。
スプレッドシート専用にGASトリガー4種類
スプレッドシートのファイルに紐づく形でのGoogle Apps Script(GAS)のトリガーは4種類あります。
イベントのソースを選択で「スプレッドシートから」を選択した後、イベントの種類が選択できます。
- 起動時
- 編集時
- 変更時
- フォーム送信時
それぞれのトリガー実行のイベントの条件について解説します。
①スプレッドシート起動時
スプレッドシート起動時のトリガーは、スプレッドシートのファイルを起動した際にGASスクリプトが実行されます。
どのユーザーでも起動したタイミングでGASスクリプトが実行され、スプレッドシートのフォーマットを整えたりすることができます。
特にスプレッドシートのメニューにカスタムしたメニューを用意する場合に、起動時のイベントトリガーを設定します。
②スプレッドシート編集時
スプレッドシート編集時のトリガーは、スプレッドシートでセルの値を変更したり、列や行を追加・削除した場合にスクリプトが実行されます。
後述のスプレッドシート変更時との違いが分かりづらいですが、編集時のほうが変更時よりも操作対象が多いです。
列の追加や削除など、セルの変更を伴わないケースでもGASスクリプトを実行したり場合に編集時のトリガーを利用しましょう。
③スプレッドシート変更時
スプレッドシート変更時のトリガーは、セルが変更された場合にGASスクリプトが実行されます。
編集時では対象操作であった、列や行の削除・追加といった操作ではトリガー実行が起動しません。
そのため、セルを変更した時だけGASスクリプトを実行したい場合に、編集時ではなく変更時イベントトリガーを利用します。
④フォーム送信時
フォーム送信時は、スプレッドシートと連携したGoogleフォームが送信された際にGASスクリプトが実行されます。
そのため、フォームを利用していないスプレッドシートでは利用しないトリガーです。
ただ、アンケート等行う際に、フォームに入力された情報をGASで加工してスプレッドシートに入力できるメリットがあります。
フォーム送信時のトリガーをうまく活用できれば、アンケート募集終了のタイミングでデータ整形も完了させることも可能です。
起動時はメニュー用、編集時と変更時の違いに注意
スプレッドシート用のトリガー「起動時」はカスタムメニューを利用したい場合に利用することが多いです。
スプレッドシートを開いた際にGASスクリプトが実行できるので、独自処理がメニューから実行できるようになります。
また、編集時と変更時は対象操作に違いがあり、注意が必要です。
編集時は列や行の追加・削除の操作も含まれるのに対し、変更時は含まれず、セルの値を変更した時にGASがトリガー実行されることを理解しておく必要があります。
まとめ・終わりに
今回、スプレッドシートに紐付いたコンテナバインド型のGoogle Apps Script(GAS)で利用できるトリガー4種類を紹介しました。
通常は時間単位でのトリガー実行が多いですが、スプレッドシートは起動時や編集時・変更時、フォーム送信時にGASが実行できます。
当該のスプレッドシートを開いた際にカスタムメニューを表示するために起動時のトリガーを実行したり、スプレッドシートを操作した際にトリガーが実行できます。
編集時と変更時の違いが覚えにくいですが、対象範囲が編集時>変更時であると覚えておきましょう。
スプレッドシートのトリガー実行を覚えると、GASアプリの利用バリエーションが増えるので、ぜひ活用してください。
ディスカッション
コメント一覧
まだ、コメントがありません