GASにはトリガーという機能が備わっていて、トリガー機能を利用すると、自動的に特定の処理を実行させることができます。
従来、このような機能を実装するには、実行環境の整備や深いプログラミングの知識など、さまざまな知識や手間が必要でした。
しかし、スプレッドシートとGASを使えば、これらの知識や手間をかけずに、簡単にトリガー機能を実装することができます。
トリガー機能は、作業の自動化および効率化のための強力な武器になるのでぜひ活用してください!
例えば、次のようなことも可能です。
1. スケジュールによる自動実行
スケジュール通りに処理を実行することができます。これにより、人手を介さずに、特定の時間に自動的に処理を実行させることができます。
2. リマインダー・アラート機能
特定の日時やイベントが近づいたときに、処理を自動的に実行させることができます。例えば、Eメールを送信したり、Xでポストを投稿したり、リマインダーやアラートを自動的に送信することができます。
3.繰り返し処理
毎週月曜日にメールを送信する、1日1回Webサイトから情報を収集する、月に1回のデータの集計をするなど繰り返し行う処理を自動化することができます。
トリガーの設定の方法
トリガー機能の設定方法を解説します。
トリガー機能で実行させる処理
まずトリガーで実行する処理を用意します。今回は以下のように現在時刻の時分をスプレッドシートの「A1」に設定する関数を用意しました。
function CurrentTime() { const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const sheet = spreadsheet.getSheetByName('シート1') // 現在の時刻を変数「currentTime」に代入 const currentTime = new Date(); // 時間を時分'HH:mm' のフォーマットに変換 var formattedTime = Utilities.formatDate(currentTime, "JST", "HH:mm"); sheet.getRange('A1').setValue(formattedTime); }
あらかじめ、この関数「CurrentTime」をコードに追加しておいてください。
このコードについて簡単に説明しますが、今回はトリガー機能の解説なのでこのコードについては深く理解しなくても大丈夫です。
現在時刻の時分をスプレッドシートの「A1」に設定するコードということだけを理解しておいてください。
以下コードの説明です。
はじめに、いつものように対象となるシートを「sheet 」変数に代入します。
GASに元から用意されている「Date」関数を使用して現在時刻を取得して変数「currentTime」に代入します。
GASに元から用意されている「Utilities.formatDate」を使用して、現在の時刻を時間と分を表示するフォーマットに変換して「formattedTime」変数に代入します。
ちなみに、ここで指定している「JST」は日本のタイムゾーンを意味します。要は日本時間で表示するための指定となります。
「setValue」を使用して「A1」のセルに時分表示にフォーマット変換された値を設定します。
トリガー機能の設定方法
今回は1分ごとに自動的に処理を実行させるためのトリガーの設定方法を解説します。実行させる処理は先で用意した「CurrentTime」です。
トリガーを設定するためには、はじめに左の時計マークをクリックします。
トリガーの設定画面が表示されるので「トリガーを追加」をクリックします。
トリガーの設定画面が表示されるのでそれぞれ次のように設定して保存します。
実行する関数を選択:CurrentTime
実行するデプロイを選択:Head
イベントのソースを選択:時間主導型
時間ベースのトリガーのタイプを選択:分ベースのタイマー
時間の間隔を選択(分):1分おき
これで、1分おきに「CurrentTime」関数を実行するトリガーが作成されました。
実行の確認
「CurrentTime」関数は現在時刻の時分をスプレッドシートの「A1」に設定する関数でした。
この関数が1分おきに実行されるトリガーを設定したため、1分ごとにスプレッドシートを確認すると常に現在の時刻が「A1」に表示されることが確認できます。
しばらく時間をおいてからスプレッドシートを確認してみてください。
■13時00分に確認
■13時01分に確認
このようにトリガーを設定すると自動的に処理を実行させることができます。
このトリガーはサーバー側で常に動いているので、スプレッドシートシートを閉じても、使用しているパソコンをシャットダウンしても動き続けてくれるというのも大きな魅力です。
トリガーの削除
トリガーを設定すると何もしなくてもずっと動き続けてくれます。このため無駄なトリガーがあるとリソースを無駄に使ってしまうことになります。
不必要なトリガーは削除するようにしてください。
削除したいトリガーの縦三点リーダーをクリックして、「トリガーを削除」をクリックします。
確認のメッセージが表示されるので「完全に削除」をクリックします。
練習問題
1時間に一回、「CurrentTime」関数を実行するトリガーを作成してください。
1時間以上経過した後にスプレッドシートを確認し、「A1」に時刻が表示されていることを確認します。
確認後、作成したトリガーを削除してください。