Google Apps Script(GAS)スクリプトをトリガー登録し、スケジュール実行する方法(GUI操作)

Google Apps Script(GAS)の最大のメリットは、作成したスクリプトをトリガー登録し、一定の間隔や決まった時間帯にスケジュール実行できることです。

今回、GASのスクリプトをスクリプトエディタからスケジュール設定する方法を解説します。

 

Google Apps Scriptのメリットはトリガー実行

Google Apps Script(GAS)の最大のメリットと言えるのが、トリガー実行です。

通常のプログラミング言語は端末などのローカル環境でスクリプトを作成後、実行方法は手動しかありません。

一定間隔や決まったタイミングで実行するには、Windowsならタスクスケジューラ、LinuxなどのUnixOSならcron(クーロン)がありますが、常にOSを起動しておく必要があります。

端末に依存せずにスケジュール実行するには、サーバーと実行環境を整備しなければなりません。

タワー型のサーバーのイメージイラスト

それに対し、GASでは、Googleのクラウド環境でスケジュール実行が可能です。

GASの標準機能として、スクリプト内の関数を一定間隔で実行できる環境が用意されています。

スクリプトを作成したあとは、スクリプトエディタから実行したいタイミングでトリガー登録し、決まったタイミングでスクリプトを実行することができます。

一定間隔や決まった時間帯でスケジュール登録可能

Google Apps Script(GAS)のスクリプトでは、WindowsのタスクスケジューラやLinuxのcronのように、5分間隔や10分間隔といった頻度で実行できます。

その他にも毎日決まった時間帯(12~13時)に実行したり、毎週月曜、さらには毎月○日といった決まったタイミングでの実行も可能です。

Google Apps Script(GAS)で好きなタイミングで実行する

さらにGoogleカレンダーで実行するタイミングを登録しておくと、Googleカレンダーと連携して、任意のタイミングでトリガー実行を稼働させることができます。

GASスクリプトのスケジュール登録方法(GUI操作)

Google Apps Scriptで作成したスクリプトをスケジュール登録する方法を解説したいと思います。

スケジュール登録する方法は、スクリプトにスケジュール登録するコードを書いて実行する方法もありますが、最も一般的なスクリプトエディタから実行したいスケジュールでのトリガー登録方法を解説します。

今回のトリガー登録方法では、「1時間に1回GASスクリプトを実行する」ようにスケジュール登録を行います。

1.スクリプトエディタの画面でストップウォッチのアイコン「現在のプロジェクトのトリガー」をクリックします。

Google Apps Script(GAS)のスケジュール登録する方法~スクリプトエディタからトリガーアイコンをクリックする

2.Google Apps Scriptプロジェクトのトリガー画面が表示されるので、右下の「トリガーを追加」ボタンをクリックします。

Google Apps Script(GAS)でスクリプトをトリガー登録して、スケジュール実行する方法

3.トリガーの設定画面が表示されるので、以下のように設定します。

  • 実行する関数を選択:トリガー登録したい関数名を選択
  • 実行するデプロイを選択:Head ※デフォルト
  • イベントのソースを選択:時間主導型
  • 時間ベースのトリガーのタイプを選択:時間ベースのタイマー
  • 時間の間隔を選択(時間):1時間おき
  • エラー通知設定:毎日通知を受け取る

Google Apps Script(GAS)のスケジュール登録する方法~トリガー登録で、スケジュールを設定して登録する

4.設定内容に問題がなければ、右下にある保存ボタンをクリックします。

以上の4Stepで完了です。

スケジュールのトリガー登録が完了すると、トリガー画面で登録した関数が表示されます。

Google Apps Script(GAS)のスケジュール登録する方法~登録完了すると、トリガー登録画面で設定したスクリプトが表示される

設定したタイミングが訪れると、スクリプト内の関数が実行されます。

実行すると、前回実行した時間が表示され、今までにエラーした率も表示されます。

スケジュール登録のトリガーは6種類

Google Apps Script(GAS)のトリガー実行でスケジュール登録できるタイプは大きく分けて6種類あります。

  1. 特定の日時
  2. 分ベースのタイマー
  3. 時間ベースのタイマー
  4. 日付ベースのタイマー
  5. 週ベースのタイマー
  6. 月ベースのタイマー

未来のあるタイミングで実行したい場合には、1番目の「特定の日時」を選択します。

スクリプトの関数を一定間隔で実行したい場合には、分/時間ベースのタイマーです。

毎日/毎週/毎月の特定の時間帯(1時間幅)で実施したい場合には、4~6のタイマーで設定します。

トリガー実行はカレンダーやスプレッドシートも

トリガー実行には、今回紹介した時間主導型の他にGoogleカレンダーが編集されたタイミングで実行できる仕組みもあります。

さらに、スタンドアロン型のスクリプトではできませんが、スプレッドシートに紐付いたコンテナバインド型のスクリプトの場合は、スプレッドシートを開いたタイミングやセルが編集されたタイミングで、関数をトリガー実行することができます。

まとめ・終わりに

今回、Google Apps Script(GAS)でスクリプトの関数をトリガー実行でスケジュール登録する方法を解説しました。

GASのメリットとして、作成したスクリプトをサーバー環境など構築せずに自動実行できることが挙げられます。

これは通常のプログラミング言語には備わっておらず、標準で搭載されているGASの大きな長所の1つです。

特定日時で未来のあるタイミングで実行したり、一定間隔で実行したり、毎日・毎週のある時間帯にスクリプトを実行できます。

GASはこのようにプログラム作成から実際に稼働させるまでが短いスパンで実行できるので、ぜひスケジュール登録によるトリガー実行を設定しましょう。