はじめに
本稿は当方クライアント様への説明用に、内部文書として限定公開していたものを一般公開用に再編集したものとなります。1
トリガー設定における共通事項
誰がGASを実行したか、に関わらず、トリガーを設定したユーザーが、トリガーより実行されたGASの実行ユーザーとして扱われます。
そのため、原則として当該プロジェクトの管理者(もしくは管理用のアカウント)にてトリガー設定をして頂く前提となります。
なお、エラーに関しましては、原則としてエラー通知で確認するか、スクリプトエディタ画面の実行数メニューから確認する必要があります。また、エラー通知は管理者(トリガー設定者)へメールにて通知されますので、通知頻度は適宜設定していただくことになります。
基本プロセス
1.スクリプトエディタを開く
上部メニューに「拡張機能」があるアプリ
現状、スプレッドシート、ドキュメント、スクリプトファイルが該当します。
上部メニュー「拡張機能」からApps Scriptを選択します。
上部メニューに「拡張機能」がないアプリ
現状、スライドが該当しますが、いずれUIが統一される可能性があります。
メニューの「ツール」からスクリプトエディタを選択します。
※画面は以前のスプレッドシートのメニュー表示
フォーム
フォーム編集画面より、アカウントアイコンの左側、「…」(三点リーダー)を縦にしたメニューアイコンをクリックし、スクリプトエディタを開きます。
2.トリガー設定メニューを開く
エディタ画面の左側にあるアイコンのうち、目覚まし時計のようなアイコンがトリガー設定用のメニューとなります。
選択し、クリックします。
3.トリガーを追加する
以下、トリガー設定画面になります。他に何もトリガーが設定されていなければ、以下のような状態となります。
画面の右下にある「+ トリガーを追加」ボタンをクリックし、新規にトリガーを追加します。
4.トリガーの設定
トリガー設定画面からボタンクリックで以下のようなモーダルウィンドウが表示されます。画像はスプレッドシートのものとなりますが、①と④はすべてのトリガー設定に共通しています。②イベントのソースを選択は設定するアプリによって選択できる内容が異なり、その選択内容によって、③の項目名及び内容が変わり、さらに小項目が追加されることもあります。
共通の設定内容
- ①実行する関数:実行させたい関数を選択してください。
- ④エラー通知設定:好みや状況によって適宜選択してください。
イベントのソース別の設定内容
まず、イベントとは、スクリプトを実行させるための契機、タイミング、処理内容等を指すものとイメージしていただければ結構です。具体的にはスプレッドシートで特定のセルが編集された時、毎日1時間毎に実行する等です。
イベントのソースは現在以下の4種類があり、それぞれに設定できるイベントの種類、内容があります。なお、時間主導型に関しましては、項目数が多く、説明も長くなりますので、別の機会にて解説させていただきます。
- スプレッドシートから
- カレンダーから
- フォームから
- 時間主導型
1. イベントのソースを選択「スプレッドシートから」
スプレッドシートのみに適用されます。
イベントの種類
- 起動時(Open):当該スプレッドシートを開いた時に実行させたい場合に選択します。
- 編集時(Edit):当該スプレッドシートのセルやセル範囲単位の編集確定時に実行させたい場合に選択します。
- 変更時(Change):当該スプレッドシートの行や列の削除など、シート単位の編集確定時に実行させたい場合に選択します。シンプルトリガーの
onSelectionChange
とは別物です。 - フォーム送信時(Form submit):当該スプレッドシートに紐付けられているフォームデータが送信された時に実行させたい場合に選択します。
2. イベントのソースを選択「カレンダーから」
スプレッドシート、ドキュメント、フォーム、スライド、スタンドアロン型のものに適用可能です。
カレンダーの詳細を入力
- カレンダー更新済み:当該アプリに紐付けられたカレンダーが更新された時に実行させたい場合に選択します。
現状は上記の1項目のみですが、小項目として、カレンダーオーナーのメールアドレスもしくはカレンダーIDを入力するフィールドが追加されます。
特定のカレンダーが更新した時に実行する場合は、対象となるカレンダーIDを指定します。
ここでカレンダーオーナーのメールアドレスを指定した場合、オーナーのすべてのカレンダーが対象となり、情報が更新された時に実行します。
念のため、拙記事ですが、以下を参考にして、GAS実行環境のタイムゾーンを確認し、実行環境に合わせておきましょう。
3. イベントのソースを選択「フォームから」
フォームのみに適用されます。
イベントの種類
- 起動時(Open):当該フォームの編集画面を開いた時に実行させたい場合に選択します。フォームページ画面を開いた時ではないため注意が必要です。
- フォーム送信時(Form submit):当該フォームが送信された時に実行させたい場合に選択します。
なお、フォーム編集画面で設定をすれば、送信前の簡単な入力チェックはされますが、その後のエラーについてはダイアログ表示などはされません。仕様上、連携先のアプリ(概ねスプレッドシートとなりますが)でも表示されません。
5. トリガーの保存
各トリガーの詳細設定ダイアログ右下にある保存ボタンクリックで、設定したトリガーが保存されます。正常に保存されると、トリガー設定画面のリストに追加されているのが確認できます。
6. トリガーの設定変更(編集)と削除
設定変更
トリガー設定者のみが実行可能です。トリガー設定画面から、設定済みトリガーのリスト上をマウスホバーした際に現れる、右側のペンアイコンをクリックで設定時と同様のモーダルウィンドウが表示されますので、適宜変更して保存します。
削除
トリガー設定者のみが実行可能です。設定変更時と同様に、リスト上をマウスホバーした際に現れる右側の「…」アイコンをクリックするとメニューが表示されます。トリガーを削除を選択するとトリガーが削除されます。
[参考・引用]
- Simple Triggers | Apps Script | Google Developers
- Installable Triggers | Apps Script | Google Developers
- [GAS] 簡単になったGAS実行環境のタイムゾーン設定
-
Magicodeから記事移動後、若干の文言修正をしています。 ↩