トリガーを使用すると、Apps Script は特定のイベントが発生したとき、
行う操作が少なくなります。単純なトリガーは
Apps Script に組み込まれている予約済み関数(onOpen(e)
関数など)
これは、ユーザーが Google ドキュメント、スプレッドシート、スライド、フォームのファイルを開くと実行されます。
インストール可能なトリガーを使用すると、
使用する前に有効化する必要があります。両方
Apps Script はトリガーされた関数を
情報を含むイベント オブジェクト
詳細情報を確認できます。
スタートガイド
シンプルなトリガーを使用するには、これらのいずれかを使用する関数を作成するだけです 予約済み関数名:
onOpen(e)
は、ユーザーがスプレッドシート、ドキュメント、プレゼンテーション、または ユーザーが編集権限を持つフォームです。onInstall(e)
は、ユーザーがアプリをインストールすると実行されます 内からエディタアドオンを使用する Google ドキュメント、スプレッドシート、スライド、フォーム。onEdit(e)
は、ユーザーがスプレッドシートの値を変更すると実行されます。onSelectionChange(e)
は、ユーザーがスプレッドシートの選択内容を変更すると実行されます。doGet(e)
は、ユーザーがウェブアプリにアクセスすると実行されます プログラムがウェブアプリに HTTPGET
リクエストを送信します。doPost(e)
は、プログラムが HTTPPOST
リクエストをウェブアプリに送信すると実行されます。
上記の関数名の e
パラメータは、
渡されるイベント オブジェクト
使用します。このオブジェクトには、エラーの原因となったコンテキストに関する情報が
使用することもできますが、使用は任意です。
制限事項
単純なトリガーは、ユーザーに確認を求めることなく自動的に 認証にはいくつかの制限があります。
- スクリプトは Google Cloud の Google API にバインド スプレッドシート、スライド、ドキュメント、フォームのファイルや アドオンで、Google Cloud 内で できます。
- ファイルが読み取り専用(表示またはコメント)モードで開かれた場合、実行されません。
- スクリプトの実行や API リクエストによってトリガーが実行されることはありません。たとえば
Range.setValue()
を呼び出し中 セルを編集しても、スプレッドシートのonEdit
トリガーは実行されません。 - アクセスを必要とするサービスにはアクセスできません。 認証。たとえば 単純なトリガーではメールを送信できません。これは、 Gmail サービスでは認証が必要ですが、 単純なトリガーでフレーズを翻訳できます。 言語サービス。匿名です。
- バインドされているファイルの変更はできるが、他のファイルへのアクセスはできない 承認が必要になるためです
- 現在のユーザーの身元を特定できる場合も、できない場合もあります。 影響する要因 複雑なセキュリティ制限のセット。
- 30 秒を超えて実行することはできません。
- 特定の状況下では
エディタのアドオンが
onOpen(e)
を実行する およびonEdit(e)
の単純なトリガーが、 状況が複雑になります詳しくは、 アドオン承認ライフサイクルのガイドをご覧ください。 - 単純なトリガーは Apps Script トリガーの対象になる 割り当て上限が適用されます。
これらの制限は doGet(e)
と doPost(e)
には適用されません。
onOpen(e)
onOpen(e)
トリガーは、ユーザーがスプレッドシートを開くと自動的に実行されます。
ドキュメント、プレゼンテーション、フォームに対してのみです。(
フォームに応答するときのみトリガーは実行されません。
編集してください)。onOpen(e)
は、カスタム コンテンツを追加したり、
メニュー項目から Google スプレッドシート、スライド、ドキュメント、
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 スプレッドシート、スライド、フォーム、 すべてのドキュメントで、開くシンプルなトリガーに対応(スプレッドシート、ドキュメント、フォームのみに対応) Open Triggers などです
イベント | 単純なトリガー | インストール可能なトリガー |
---|---|---|
開く |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
編集 |
<ph type="x-smartling-placeholder">
|
<ph type="x-smartling-placeholder">
|
選択内容の変更 |
<ph type="x-smartling-placeholder">
|
|
インストール |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
|
変更 |
<ph type="x-smartling-placeholder">
|
|
フォームの送信 |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
|
時間駆動型(時計) |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
|
Get |
<ph type="x-smartling-placeholder">
|
|
投稿 |
<ph type="x-smartling-placeholder">
|
* Google フォームのオープン イベントは、ユーザーが 代わりに、編集者がフォームを開いたときに変更することができます。