シンプルなトリガー (original) (raw)

トリガーを使用すると、ドキュメントを開くなどの特定のイベントが発生したときに、Apps Script が関数を自動的に実行できます。単純なトリガーは、Apps Script に組み込まれた予約済みの関数セットです。たとえば、ユーザーが Google ドキュメント、スプレッドシート、スライド、フォームのファイルを開いたときに実行される onOpen(e) 関数などがあります。インストール可能なトリガーは、シンプルなトリガーよりも多くの機能を提供しますが、使用する前に有効にする必要があります。どちらのタイプのトリガーでも、Apps Script は、イベントが発生したコンテキストに関する情報を含むイベント オブジェクトをトリガーされた関数に渡します。

スタートガイド

単純なトリガーを使用するには、次の予約済み関数名のいずれかを使用する関数を作成します。

上記の関数名の e パラメータは、関数に渡されるイベント オブジェクトです。このオブジェクトには、トリガーが起動したコンテキストに関する情報が含まれていますが、使用は任意です。

制限事項

単純なトリガーは、ユーザーに承認を求めることなく自動的に起動するため、いくつかの制限があります。

これらの制限は doGet(e) または doPost(e) には適用されません。

onOpen(e)

onOpen(e) トリガーは、ユーザーが編集権限を持つスプレッドシート、ドキュメント、プレゼンテーション、フォームを開くと自動的に実行されます。(トリガーはフォームに回答するときには実行されず、フォームを開いて編集するときにのみ実行されます)。onOpen(e) は、Google スプレッドシート、スライド、ドキュメント、フォームにカスタムのメニュー項目を追加するために最もよく使用されます。

onInstall(e)

onInstall(e) トリガーは、ユーザーが Google ドキュメント、スプレッドシート、スライド、フォーム内からエディタ アドオンをインストールすると自動的に実行されます。ユーザーが Google Workspace Marketplace のウェブサイトからアドオンをインストールした場合、トリガーは実行されません。onInstall(e) の機能には制限があります。詳しくは、認可をご覧ください。onInstall(e) の最も一般的な用途は、onOpen(e) を呼び出してカスタム メニューを追加することです。アドオンがインストールされると、ファイルはすでに開いているため、ファイルが再度開かれない限り、onOpen(e) は単独で実行されません。

onEdit(e)

onEdit(e) トリガーは、ユーザーがスプレッドシートの任意のセルの値を変更すると自動的に実行されます。ほとんどの onEdit(e) トリガーは、イベント オブジェクトの情報を使用して適切に応答します。たとえば、次の onEdit(e) 関数は、最後に編集された日時を記録するセルにコメントを設定します。

onSelectionChange(e)

onSelectionChange(e) トリガーは、ユーザーがスプレッドシートで選択を変更すると自動的に実行されます。このトリガーを有効にするには、トリガーを追加した後と、スプレッドシートを開くたびに、スプレッドシートを更新する必要があります。

選択が短時間で複数のセル間を移動する場合、レイテンシを減らすために一部の選択変更イベントがスキップされることがあります。たとえば、2 秒以内に選択の変更が複数回行われた場合、最初と最後の選択の変更のみで onSelectionChange(e) トリガーが有効になります。

次の例では、空のセルが選択されると、onSelectionChange(e) 関数によってセルの背景が赤に設定されます。

doGet(e)doPost(e)

doGet(e) トリガーは、ユーザーがウェブアプリにアクセスしたとき、またはプログラムがウェブアプリに HTTP GET リクエストを送信したときに自動的に実行されます。doPost(e) は、プログラムがウェブアプリに HTTP POST リクエストを送信したときに実行されます。これらのトリガーについては、ウェブアプリHTML サービスコンテンツ サービスのガイドで詳しく説明しています。doGet(e)doPost(e) は上記の制限の対象外です。

使用可能なトリガーの種類

シンプルなトリガーの制限によりニーズを満たせない場合は、インストール可能なトリガーを使用できます。次の表に、各イベントタイプで使用可能なトリガーのタイプをまとめます。たとえば、Google スプレッドシート、スライド、フォーム、ドキュメントはすべてシンプルなオープン トリガーをサポートしていますが、インストール可能なオープン トリガーをサポートしているのはスプレッドシート、ドキュメント、フォームのみです。

イベント シンプルなトリガー インストール可能なトリガー
開く スプレッドシート スライド フォーム* ドキュメント function onOpen(e) スプレッドシート フォーム* ドキュメント
編集 スプレッドシート function onEdit(e) スプレッドシート
選択の変更 スプレッドシート function onSelectionChange(e)
インストール スプレッドシート スライド フォーム ドキュメント function onInstall(e)
変更 スプレッドシート
フォーム送信 スプレッドシート フォーム
時間主導型(時計) スプレッドシート スライド フォーム ドキュメント スタンドアロン
Get スタンドアロン function doGet(e)
投稿 スタンドアロン function doPost(e)

* Google フォームのオープン イベントは、ユーザーが回答するためにフォームを開いたときではなく、編集者がフォームを開いて変更したときに発生します。