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

当ページのリンクには広告が含まれています。

-文系卒もプログラミングで無駄な残業を1時間減らそう-

事務職や営業職などの文系職もリスキリングでプログラミングが人気

しかし、独学はプロに相談できずに挫折することが多いのが現実です。

プログラミングスクールなら、夜遅くでもオンライン上で担当講師がサポート

しかも今なら、厚生労働省の教育訓練給付金制度で受講料が最大70%OFFです。

挫折しない環境で確実にスキルアップしましょう。

こんな人におすすめ!

  • リスキリングで基礎からプログラミングを学びたい人
  • 日常業務を自動化して残業時間を減らしたい人
  • 転職や副業で有利なスキルを身につけたい人
  • 独学で挫折した経験がある人
あっきょ

おかげでぼくも趣味の時間を平日に取れたッス!

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

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

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

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

この記事はこんな人におすすめ!

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

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

目次

サイト運営者

あっきょ

あっきょ

文系未経験から社内SEになった地方の物流企業の社員。一から開発したオリジナルアプリで業務効率化し残業80%減を達成。事務職や営業職のためのプログラミングを学べる『デイコー』を運営。得意な言語 : GAS, JavaScript, Python

トリガーとは?

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で確認されていません」と表示した場合はこちら

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

トリガー画面の表示

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

トリガーのリスト

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

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

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

トリガーの詳細

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

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

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

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

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

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

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

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

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

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

文系未経験の社会人でも、GASを効率的に学ぶならプログラミングスクールがおすすめ

現役エンジニアの講師のもとで学びながら、途中で挫折せず確実にスキルが身につきます。

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

それでは、よいプログラミングライフを!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

文系未経験のWebエンジニア。事務職がプログラミング学習して社内SE部門立ち上げ&Webサイト作成。業務効率化で残業80%減を達成。得意な言語 : GAS, JavaScript, Python

目次