Google Apps Scriptで営業日を判定してトリガーを作成する方法


目覚まし時計

みなさん、こんにちは! うえはら(@tifoso_str)です。

2回にわたり、Google Apps Scriptでトリガーの作成と削除についてお伝えしました。

実行したい処理に、チャットワークへの送信を設定すると、毎日指定の時間に送信されると思います。

ところで、毎日送信されるようになったのはいいですが、休みの日は仕事のことは忘れたいですよね?

そこで今回は、Google Apps Scriptで営業日を判定してトリガーを作成する方法をお伝えします。

前回のおさらい

まずは、前回のおさらいです。

2回分を合わせるとこのようになります。

「編集」→「現在のプロジェクトのトリガー」から8時より前の時間にsetTriggerを呼び出すトリガーを設定しておけば、毎朝8:50分にmyFunctionが実行されるようになります。

myFunctionが実行されるとdelTriggerが呼び出されて、使用済みのトリガーは削除され、実行したい処理へ移っていきます。

ここまでよろしいでしょうか。それでは、営業日を判定してトリガーを作成する方法にいきたいと思います。

カレンダーどおりの営業日のみトリガーを作成する

以前、Google Apps Scriptで営業日を判定する関数についてお伝えしていますので、これを利用したいと思います。

ずっと使える!Google Apps Scriptで営業日を判定する関数の作り方
Google Apps Scriptで業務系のツールを作る場合、けっこうな頻度で営業日かどうかの判定が必要になります。今回は、Googleの日本の祝日カレンダーを利用した営業日を判定する関数の作り方です。

トリガーを設定する「setTrigger」から日付をわたして、土日と祝祭日でなければ、「true」が返ってくるようにします。

後は、「true」が返ってきたときに、トリガーを作成するようにif文で条件分岐すればいいですね。

トリガーを作成するスクリプトを下記のように変更します。

if文を一行追加するだけで完成です!

色々な関数を作成しておけば、機能を簡単に追加できて便利ですね。

会社独自の営業日に合わせてトリガーを作成する

次は、会社の営業日がカレンダーどおりではない場合について考えてみます。

この場合もGoogleカレンダーを使用していきます。

Googleカレンダーに「休業日」を登録する

会社の営業日のカレンダーを追加して、今回は休みの日に「休業日」を登録するようにしました。

会社の営業日

この営業日のカレンダーから当日のイベントを取得し、イベント名が「休業日」であれば「false」を返し、そうでなければ「true」を返す関数を作成します。

イベント名が「休業日」かどうかを判定する関数

当日のイベントをGoogleカレンダーから取得する方法は下記をご覧下さい。

毎朝、当日の予定をGoogleカレンダーから取得してチャットワークに送る
Google Apps Scriptを使ってチャットワークに色々と送ることができます。Googleカレンダーから当日の予定を取得してチャットワークに送る方法についてお伝えしたいと思います。

イベント名だけを取得したいので、下記のようになります。

イベントのタイトルを配列arrTitlesに追加して、配列arrTitlesの中に「休業日」があれば「false」を返し、そうでなければ「true」を返します。

「setTrigger」の部分は一緒です。呼び出す関数の名前だけ変更しています。

これで、会社独自の営業日にも対応できます。

まとめ

今回はGoogle Apps Scriptで営業日のみトリガーを作成する方法についてお伝えしました。

トリガーを作成する部分をif分などで条件判断すれば、自分独自のルールでトリガーが作成できます。

Googleカレンダーやスプレッドシートも利用すれば、より幅が広がります。

みなさんも、色々なルールでトリガーを作成してみて下さい。

連載目次:GASのスクリプトからトリガーを操作する方法

GASのトリガーはメニューから設定する以外に、スクリプトからも設置や削除が行えます。本シリーズでは、ScriptAppsサービスを使ったトリガーの操作方法についてお伝えしていきます。
  1. Google Apps Script で毎日決まった時刻にスクリプトを実行するトリガー設定
  2. Google Apps Scriptで使用済みのトリガーを削除する方法
  3. Google Apps Scriptで営業日を判定してトリガーを作成する方法

The following two tabs change content below.
独学でプログラムを勉強しているノンプログラマーです。 名前から連想されるように沖縄在住ですが、うちなんちゅ~ではありません。 パソコンにできることはパソコンにさせよう!をモットーに日々の業務に取り組んでいます。

コメント