GoogleAppsScriptのトリガーを使って自動化をマスターしよう

gas-trigger
GoogleAppsScript(GAS)はプログラミング初心者でも簡単にプログラムを作ることができ、Googleのサービスとも簡単に連携することができます。本記事では、時間になったら自動でプログラムを実行してくれる「トリガー」について解説します。

GoogleAppsScriptで作業自動化おじさん

GoogleAppsScriptで普段の作業を自動化したぞ! でもどうせなら、プログラムの実行まで自動化したいな
そんなときはトリガーを使いましょう

どーも、新卒エンジニアのえびじゅん(@ebijun1007)です!!

本記事では、GoogleAppsScriptのトリガーの使い方を紹介します!!

ちなみにトリガーの使いかたを覚えるとこんなことができます↓

では、いくぞ!!

GoogleAppsScriptのトリガーの設定方法

まずはいつも通りGASのエディタ画面を開きます。

そもそもGoogleAppsScriptの使い方がわからない方はこちら↓

適当に文字列をログ画面に表示させましょう

function myFunction() {
Logger.log("hoge");
}

プログラムを作成したら、「編集」→「現在のプロジェクトのトリガー」を選択し、トリガー設定画面を表示します。

設定画面右下「トリガーを追加」を選択

続いて

    • 実行する関数
    • 実行するデプロイ
    • 実行する時間

 

を選択していきます。

例えば、上記プログラムを1分おきに動作させたい場合は↓のような設定です。

トリガーをセットするトリガー

手動でのトリガーの設定方法をご紹介しましたが 実は、プログラムからでもトリガーを設定できるコマンドがあります。

function setTrigger(){
var setTime = new Date();
setTime.setHours(19);
setTime.setMinutes(00);
ScriptApp.newTrigger('myFunction').timeBased().at(setTime).create();
}

こんな感じで、ScriptApp.newTrigger関数に、「実行したい関数」と「実行したい時間」をセットしてcreateすると 指定した時間に動作するトリガーを作ることができます。

「実行するデプロイを選択」ですが、HEADのままでOKです。

HEADとは、今現在のスクリプトコードを実行する選択支です。 バージョン管理をしていれば、ここから過去のバージョンを選択することもできます。 詳しくはドキュメントから →https://developers.google.com/apps-script/concepts/deployments

もちろん、setTimeの中には変数を入れることも出来るので、例えばスプレッドシートに予定を入れておいて スプレッドシートを読み込むプログラムをトリガーにセットすることでリマインダーを作成することができます。

使い終わったトリガーは削除しましょう

トリガーは無限にセットすることができます。

gas-trigger-infinity

この程度なら大丈夫ですが、例えば上記プログラムのように、トリガーからトリガーを作成する設定にしていると 気づいたら数えきれないほどのトリガーが出来てしまうことがあります。

それを防ぐために、1度使ったトリガーは削除するようにしましょう。

gas-trigger-delete

トリガー設定画面から、トリガーを選択し、右側のプルダウンメニュー「トリガーを削除」 を選択することでトリガーを削除することができます。

が、いちいち手作業で消すのはめんどくさいですし 自動化が売りのGoogleAppsScriptらしくないので、別の方法を使いましょう。

トリガーを全消去するスクリプト

先ほど、トリガーを作成するプログラムを紹介しました。

作成するコードがあるということは、削除するコードもあるはずですね

それがこちら↓

ScriptApp.deleteTrigger(”削除したいトリガー名");

削除したいトリガーの名前を引数として渡すことで、削除してくれます。

全部削除したいときはこちら↓ var triggers = ScriptApp.getProjectTriggers();
for(var i=0; i < triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]);
}

ScriptApp.getProjectTriggers() で全てのトリガーを変数に代入して、for文で1つずつ削除するという流れです。

もっと本格的にプログラミングを学びたい方へ

本記事では、GoogleAppsScriptのトリガーの使い方を紹介しました。

GoogleAppsScriptは比較的簡単な言語で 初心者でもすぐにプログラムを作ることができますが、出来ることがあまり多くはないです。

  • プログラミングに興味があるが何から学んでいいかわからない方
  • Webアプリケーション開発をやってみたい方
  • 以前プログラミングに挫折した方
  • 手軽な価格でメンターをつけたい初心者の方
  • エンジニアを目指す第一歩を踏み出したい方

はぜひこちら↓の記事を読んでみてください

プログラミングの独学、大変じゃないですか?

プログラミングを独学しているそこのあなた

  • 思い通りにプログラムが動かなくてイライラする
  • エラーをググってもなかなか解決策が見つからない
  • そもそも何から手をつけて良いかわからない

こんな悩みを抱えていませんか?

そんなあなたにおすすめなのが、メンターを雇えるサービス MENTA です

メンターとのマッチングがめちゃくちゃ簡単

MENTAを利用すれば、自分のやりたいことを丁寧に教えてくれるメンターと簡単に出会うことができます!

自分が覚えたいスキルセットを持ったメンターを探す

もしくは

自分が覚えたいスキルと予算を提示して、メンターからの連絡を待つ

たったこれだけです!

プログラミングスクールより格安の料金設定

料金はメンター次第ですが、月々1000〜5000円程度(中には0円でサポートしてくれるメンターも!!)

ebi
えび

プログラミングスクールの月額は平均3万円とされている中で、5000円程度でメンターを雇えるのはかなり格安です!!

ぜひMENTAを活用してスキルアップを目指しましょう!!

 

1 個のコメント

  • […] function setTrigger(start,fin){   delTrigger();   var setTime = new Date();   setTime.setHours(start);   setTime.setMinutes(00);   var date = new Date();   ScriptApp.newTrigger('start_mail').timeBased().at(setTime).create();   setTime.setHours(fin);   setTime.setMinutes(00);   ScriptApp.newTrigger('fin_mail').timeBased().at(setTime).create(); } GoogleAppsScriptのトリガーを使って自動化をマスターしよう […]

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください