※当サイトの商品・サービスのリンク先にPRを含みます。

GAS入門 Google Apps Script

【3分で簡単】GASで希望した日時にトリガーを設定

お仕事おつにゃッス🐈

文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!

今回はGoogle Apps Scriptsを使用して、毎日決まった時刻にスクリプトを実行する方法を紹介します。

GASのトリガーを使うと簡単に繰り返したいコードを自動で設定できます。

特に、あなたが毎日処理するコードを実行するときは強い味方になります。

あっきょ
この記事は以下で悩んでいる人におすすめッス!

  • 好きなタイミングで実行するアプリを作りたい
  • 作業を自動化して業務効率化したい
  • プログラミングでJavaScriptを学んだけど、何を作っていいかわからない

3分で設定できるので、お気軽に学んでいきましょう。

トリガーとは?

GASでのトリガーの概要と説明

GASでいうトリガーとは、特定の条件下でコードを自動で実行する仕組みをいいます。

この仕組みはスマートフォンのアラーム機能と似ています。

例えばあなたが朝7時にアラームを設定したら、その時間に毎日鳴るのは想像できるでしょう。

同様に任意のタイミングでコードを自動で実行するようになります。

トリガーを設定する準備

Google Apps Scriptで任意のタイミングで関数を実行する準備をします。準備物は1つです。

必要なファイル

  • Google Apps Script ・・・ コードを記述して、トリガー関数を実行

サンプルコードを貼り付ける方法

ソースコードはGoogle Apps Scriptのファイルにコピペします。

メニュー画面で右クリックしてオプションを開きます。

1番下の「その他」を選択し、その中の「Google Apps Script」を選択します。

以下のような画面が現れるので、ここにコードをコピペします。

トリガーを使ったサンプルコードと解説

GASでトリガー関数を実行するサンプルコードの解説していきます。

解説の項目

  • サンプルコード
  • A, 時間を指定してトリガーを生成する関数
  • B, 処理を実行する関数

サンプルコード

右上にあるマークを押すとコードのコピペを一瞬でできます。

また、文頭にアルファベットが付いているコメントごとに詳細を説明していきます。

以下のトリガーは、「毎日12時にrunCode関数を実行」します。

//A, 時間を指定してトリガーを生成する関数
function setTrigger() {
  let time = new Date();

  time.setDate(time.getDate() + 1); //日付
  time.setHours(12); //時
  time.setMinutes(0); //分
  time.setSeconds(0); //秒
  ScriptApp.newTrigger('runCode').timeBased().at(time).create();  
}


//B, 処理を実行する関数
function runCode() {
  setTrigger();

  //処理したいコード
}

A, 時間を指定してトリガーを生成する関数

//A, 時間を指定してトリガーを生成する関数
function setTrigger() {
  let time = new Date();

  time.setDate(time.getDate() + 1); //日付
  time.setHours(12); //時
  time.setMinutes(0); //分
  time.setSeconds(0); //秒
  ScriptApp.newTrigger('writeWord').timeBased().at(time).create();  
}

任意のタイミングで実行するトリガーを作成します。

Dateオブジェクトからインスタンスを作成し、実行する時刻をセッターの引数に入れます。

今回使ったセッターは以下の4つです。

セッター名詳細
setDate(num)1~31の「日」を表す数字を引数に入れる
setHours(num)0~23の「時」を表す数字を引数に入れる
setMinutes(num)0~59の「分」を表す数字を引数に入れる
setSeconds(num)0~59の「秒」を表す数字を引数に入れる

日付で1を足したのは翌日を意味し、同じコードを翌日にも実行するよう設定します。

最後のScriptAppから続くコードで、翌日分のトリガーを作成します。

B, 処理を実行する関数

//B, 処理を実行する関数
function runCode() {
 setTrigger();

  //処理したいコード
}

「//処理したいコード」から下は、あなたが毎日実行したいコードを貼り付けます。

runCode関数 内は、setTrigger関数翌日のトリガーを作成した後に処理したいコードを実行します。

コードの説明は以上です。

任意の時刻で実行するトリガーの設定と確認

GASで希望したタイミングでコードを実行するトリガーを設定するかテストを行います。

赤丸で囲っている文字が「setTrigger」であることを確認し、左側にある「実行」を押します。

「このアプリはGoogleで確認されていません」と表示した場合はこちら

【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法

続きを見る

実行したら、カーソルを右に移動して「トリガー」を選択します。

トリガー画面の表示

トリガーの一覧が現れるので、右側の鉛筆マークをクリック。

トリガーのリスト

トリガーの詳細を表示します。

赤丸が翌日の日付になっていれば成功です。

この画像では2022年2月2日に実行したので、2月3日と表示されました。

トリガーの詳細

実行する時間がずれるときは?

ログで出力する時間とDataオブジェクトから作ったインスタンスの時間がズレて表示することがあります。

これはアメリカの時間を標準したのが原因で標準時を日本に変更します。

以下の記事では標準時間を日本に変える方法を紹介しています。

【3分で解決】GASで出力した時間がずれたときにタイムゾーンを変更する方法

続きを見る

GASで作れるトリガーで自動化できるアプリの紹介

トリガー処理が必要なプログラムがない場合、管理者が投稿した記事を紹介します。

トリガー関数と組み合わせるとさらに業務効率化が実現しますので、ぜひご参考ください。

【簡単】GASで当日のカレンダーの予定をLINEに通知

続きを見る

【残業3割減】GASでメールの一斉送信を自動化

続きを見る

【不安解消】GASでLINEに日本株の1日の値動きを通知

続きを見る

おわりに | GASの業務効率化でスキルを上げるには

以上がGoogle Apps Scriptで決まった時刻にスクリプトを毎日実行する方法でした。

そのままコピペして日常業務で使ったり、プログラミングの動作確認に使ったりしてみましょう。

GASで業務効率化する場合は参考書やスクールを使うとあなた自身でアプリを作るスキルが身に付きます

デイコーでは、プログラミング未経験者にもわかりやすく解説しています。

スクールは82社を分析して厳選したッス!
あっきょ

次回の記事もご期待ください!

-GAS入門, Google Apps Script
-, , , , , , , , , , , , , , , ,