毎日なにかしらルーティンでスクリプトを走らせているのですが、祝日・休日・指定した日には実行スクリプトをスキップしたいので、その方法をまとめました。
たとえばこういったスクリプトなどが、営業日だけスクリプトが実行されるようになります。
GAS│指定時間に定型のGmailを予約送信する方法
特定の時間にメールで日報を送ることになり、はじめはChrome拡張機能の予約投稿で送っていたのですが、 毎回、定型文コピーして作ることすら面倒になったのでGAS(Google…
目次
祝日・休日はスクリプトが実行スキップ
function isBusinessDay(date){
if (date.getDay() == 0 || date.getDay() == 6) {
return false;
}
var calJa = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com');
if(calJa.getEventsForDay(date).length > 0){
return false;
}
return true;
}
function myFunction() {
var date = new Date();
if(isBusinessDay(date)){
Logger.log('送信');
}else{
Logger.log('休日');
}
}
さらに指定した日も実行スキッ
- Googleカレンダーを開く
- 新しくカレンダーを追加して、スキップしたい日に予定を入れる
- カレンダー項目横、スリードットをクリック、「設定と共有」を開いて、カレンダーID(例:hogehoge@group.calendar.google.com)をメモ
- 下記のスクリプトを参考に。(カレンダーIDも入力)
function isBusinessDay(date){
if (date.getDay() == 0 || date.getDay() == 6) {
return false;
}
var calJa = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com');
if(calJa.getEventsForDay(date).length > 0){
return false;
}
return true;
}
function isSpecifiedDay(date){
if (date.getDay() == 0 || date.getDay() == 6) {
return false;
}
var calJa = CalendarApp.getCalendarById('hogehoge@group.calendar.google.com');//Google カレンダーID
if(calJa.getEventsForDay(date).length > 0){
return false;
}
return true;
}
function myFunction() {
var date = new Date();
if(isSpecifiedDay(date)){
if(isBusinessDay(date)){
Logger.log('送信!');
}else{
Logger.log('休日');
}
}else{
Logger.log('指定日休日');
}
}
まとめ
便利で応用が効くのでメモしておきました。