スプレッドシートに紐付いたGASのトリガー実行4種類を解説(起動/編集/変更/フォーム)

スプレッドシートに紐付いたコンテナバインド型のGoogle Apps Script(GAS)では、スケジュール実行以外に4種類のトリガー実行が可能です。

スプレッドシートでのGASで設定可能な4種類(起動時・編集時・変更時・フォーム送信時)のトリガーを解説します。

スプレッドシートに紐づくGAS

Google Apps Script(GAS)は、スクリプト単体で稼働するスタンドアロンスクリプト以外に、コンテナバインドスクリプトがあります。

コンテナバインドスクリプトはGoogleの各種サービスに紐づく形でGASを利用する形式です。

スタンドアロンスクリプトのGASでは、各種サービスのファイルを呼び出すにはIDやURLを指定する必要があります。

それに対し、コンテナバインドスクリプトでは紐付いているサービスのファイルをIDやURLを指定せずに呼び出せるのがメリットです。

特にスプレッドシートからコンテナバインド型でGASを利用するケースが多くなっています。

※GASのコンテナバインド・スタンドアロン型の違いは以下の記事で解説しています。

GASのコンテナバインドスクリプトとスタンドアロンスクリプト比較!メリット・デメリット解説

スプレッドシートの起動や編集時にGAS実行

通常のGoogle Apps Script(GAS)のスクリプトは、5分、10分、1時間や毎日7~8時に実行といった時間をトリガーにスケジュール登録が可能です。

スプレッドシートに紐付いたコンテナバインドスクリプトのGoogle Apps Script(GAS)では、トリガー実行の条件も追加されています。

GASスクリプトのトリガー実行の結果・ログの確認方法~実行数メニューからチェック

スプレッドシートの挙動をトリガーにして、GASスクリプトを実行することができます。

他のGoogleドキュメントやGoogleフォームでもトリガーがありますが、スプレッドシートのトリガー条件が最も多いです。

スプレッドシート専用にGASトリガー4種類

スプレッドシートのファイルに紐づく形でのGoogle Apps Script(GAS)のトリガーは4種類あります。

イベントのソースを選択で「スプレッドシートから」を選択した後、イベントの種類が選択できます。

  1. 起動時
  2. 編集時
  3. 変更時
  4. フォーム送信時

それぞれのトリガー実行のイベントの条件について解説します。

①スプレッドシート起動時

スプレッドシート起動時のトリガーは、スプレッドシートのファイルを起動した際にGASスクリプトが実行されます。

どのユーザーでも起動したタイミングでGASスクリプトが実行され、スプレッドシートのフォーマットを整えたりすることができます。

特にスプレッドシートのメニューにカスタムしたメニューを用意する場合に、起動時のイベントトリガーを設定します。

②スプレッドシート編集時

スプレッドシート編集時のトリガーは、スプレッドシートでセルの値を変更したり、列や行を追加・削除した場合にスクリプトが実行されます。

後述のスプレッドシート変更時との違いが分かりづらいですが、編集時のほうが変更時よりも操作対象が多いです。

列の追加や削除など、セルの変更を伴わないケースでもGASスクリプトを実行したり場合に編集時のトリガーを利用しましょう。

③スプレッドシート変更時

スプレッドシート変更時のトリガーは、セルが変更された場合にGASスクリプトが実行されます。

編集時では対象操作であった、列や行の削除・追加といった操作ではトリガー実行が起動しません。

そのため、セルを変更した時だけGASスクリプトを実行したい場合に、編集時ではなく変更時イベントトリガーを利用します。

④フォーム送信時

フォーム送信時は、スプレッドシートと連携したGoogleフォームが送信された際にGASスクリプトが実行されます。

そのため、フォームを利用していないスプレッドシートでは利用しないトリガーです。

ただ、アンケート等行う際に、フォームに入力された情報をGASで加工してスプレッドシートに入力できるメリットがあります。

フォーム送信時のトリガーをうまく活用できれば、アンケート募集終了のタイミングでデータ整形も完了させることも可能です。

起動時はメニュー用、編集時と変更時の違いに注意

スプレッドシート用のトリガー「起動時」はカスタムメニューを利用したい場合に利用することが多いです。

スプレッドシートを開いた際にGASスクリプトが実行できるので、独自処理がメニューから実行できるようになります。

また、編集時と変更時は対象操作に違いがあり、注意が必要です。

編集時は列や行の追加・削除の操作も含まれるのに対し、変更時は含まれず、セルの値を変更した時にGASがトリガー実行されることを理解しておく必要があります。

まとめ・終わりに

今回、スプレッドシートに紐付いたコンテナバインド型のGoogle Apps Script(GAS)で利用できるトリガー4種類を紹介しました。

通常は時間単位でのトリガー実行が多いですが、スプレッドシートは起動時や編集時・変更時、フォーム送信時にGASが実行できます。

当該のスプレッドシートを開いた際にカスタムメニューを表示するために起動時のトリガーを実行したり、スプレッドシートを操作した際にトリガーが実行できます。

編集時と変更時の違いが覚えにくいですが、対象範囲が編集時>変更時であると覚えておきましょう。

スプレッドシートのトリガー実行を覚えると、GASアプリの利用バリエーションが増えるので、ぜひ活用してください。