Google Apps Script で 営業日だけ処理をしたいということはないでしょうか。 営業日のみ朝のメール配信をしてほしい、そのほかにも、 週末だけ処理をしたいが金曜が祝日の場合はその前の日に処理をするなどがあります。 そういった祝日を考慮する場合の Script を考えました。
トリガを設定して平日にスクリプトが実行されるようにした上で、以下のコードを追加します。
祝日・休日を除いて処理をする
別の書き方をすれば、営業日のみ処理をする場合のことです。 Google Calendar を利用して 祝日を取得します。
処理の始めに次のコードを追加します。
1 2 3 4 5 6 7 8 9 |
var currentDate = new Date(); var weekday = currentDate.getDay(); if (weekday == 0 || weekday == 6) { return; } var calendar = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); if (calendar.getEventsForDay(currentDate, {max: 1}).length > 0) { return; } |
日曜と土曜の場合は処理を中断し、 Google が用意している日本の祝日カレンダーに祝日予定が入っている場合にも処理を中断します。 曜日の選択はトリガの設定でも可能です。
もちろんこれを boolean を返すメソッドにするのもいいと思います。
もし、会社で 創業記念日・設立記念日 なども休みになっている場合は、 会社の特別休日カレンダーを作成して 処理を追加します。 getCalendarById
の引数となるカレンダーIDは、 Google Calendar の該当のカレンダーについてカレンダー設定の画面を開くと確認できます。