Google Apps Scriptのシンプルトリガーとは?

GAS

Google Apps Script(GAS)には、「シンプルトリガー」と呼ばれる機能があります。シンプルトリガーは、特定のイベントが発生した際に自動で実行されるスクリプトです。通常のトリガーのように手動で設定する必要がなく、スクリプトが紐づいたドキュメントに対して操作されたタイミングで発動します。

シンプルトリガーを利用するには、以下の関数のいずれかを実装するだけでOKです。

シンプルトリガーの種類と使い方

関数名説明
onOpen(e)ユーザーが編集権限のあるスプレッドシート、ドキュメント、フォームなどを開いたときに実行(読み取り専用では実行されない)
onInstall(e)ユーザーがGoogleドキュメント、スプレッドシート等からアドオンをインストールしたときに実行
onEdit(e)ユーザーがスプレッドシートのセルの値を変更したときに実行
onSelectionChange(e)ユーザーがスプレッドシートで選択内容を変更すると実行
doGet(e)ユーザーがウェブアプリにアクセスしたり、プログラムがHTTP GETリクエストをウェブアプリに送信したときに実行
doPost(e)プログラムがHTTP POSTリクエストをウェブアプリに送信すると実行

詳しく見ていこう

1. onOpen(e)

ユーザーが編集権限のあるスプレッドシート、ドキュメント、フォームなどを開いたときに実行されます。ただし、読み取り専用のユーザーには適用されません。

function onOpen(e) {
  SpreadsheetApp.getUi().alert("スプレッドシートが開かれました!");
}

2. onInstall(e)

Googleドキュメントやスプレッドシートなどからアドオンをインストールしたときに実行されます。

function onInstall(e) {
  onOpen(e);
}

3. onEdit(e)

ユーザーがスプレッドシートのセルの値を変更した際に発動します。

function onEdit(e) {
  Logger.log("セルが編集されました: " + e.range.getA1Notation());
}

4. onSelectionChange(e)

スプレッドシートでセルの選択範囲を変更すると実行されます。リアルタイムの変更を監視するのに便利です。

function onSelectionChange(e) {
  Logger.log("選択範囲が変更されました: " + e.range.getA1Notation());
}

5. doGet(e)

ウェブアプリにアクセスした際に実行される関数です。HTTPのGETリクエストを処理する際に使用します。

function doGet(e) {
  return ContentService.createTextOutput("Hello, world!");
}

6. doPost(e)

HTTPのPOSTリクエストを処理するための関数です。フォーム送信や外部APIとの通信に活用できます。

function doPost(e) {
  return ContentService.createTextOutput("データを受け取りました!");
}

シンプルトリガーを使う際の注意点

  • 外部サービスへのアクセス不可: シンプルトリガーでは、GmailAppUrlFetchAppなどの外部サービスにアクセスできません。
  • 長時間の処理不可: 実行時間の制限があり、長時間の処理には適していません。
  • エラー時の通知なし: 失敗しても管理コンソールに記録されず、エラーの検知が難しいです。

まとめ

シンプルトリガーを活用すれば、Googleスプレッドシートやドキュメントの操作を自動化し、作業効率を向上させることができます。ただし、制約もあるため、より複雑な処理が必要な場合は「インストール型トリガー」の活用も検討しましょう!

コメント

タイトルとURLをコピーしました