Google Apps Script(GAS)で、作業スケジュールを毎週月曜の朝にメール自動送信するスクリプトを作成したのでブログに残します。
Google スプレッドシートを新規作成 見出しへのリンク
GoogleドライブにてGoogleスプレッドシートを新規作成する。
Google Spread Sheet を開く 見出しへのリンク
ダブルクリックしGoogle Spread Sheetを開きます。
JavaScript編集画面を開く 見出しへのリンク
ツール → スクリプトエディタにてJavaScriptエディタを開きます。
ロジック組む 見出しへのリンク
実装内容 見出しへのリンク
function scheduleMail() {
// 本番イベントのカレンダーオブジェクト取得
var cal = CalendarApp.getCalendarById("~~~~~~~~~~~~~~~カレンダーID~~~~~~~~~~~~~~~");
var calName = cal.getName();
// 一週間の予定
var dtS = new Date();
var dtE = new Date();
dtS = new Date(dtS.getFullYear(),dtS.getMonth(),dtS.getDate(),0,0,0);
dtE = new Date(dtE.getFullYear(),dtE.getMonth(),dtE.getDate(),0,0,0);
dtE.setDate(dtE.getDate() + 7);
var events = cal.getEvents(dtS,dtE);
dtE.setDate(dtE.getDate() -1);
var youbiArr = ['日', '月', '火', '水', '木', '金', '土'];
var youbiDtS = youbiArr[dtS.getDay()];
var youbiDtE = youbiArr[dtE.getDay()];
var honbun = "";
var kenmei = Utilities.formatDate(dtS,"GMT+09:00","yyyy/MM/dd")+"("+youbiDtS +")" + "~";
kenmei += Utilities.formatDate(dtE,"GMT+09:00","yyyy/MM/dd")+"("+youbiDtE +")"+ "の" +calName + "予定です";
var mailto = "~~~~~~~~~~~~~~~宛先メールアドレス~~~~~~~~~~~~~~~"
var option = {};
option.from = "~~~~~~~~~~~~~~~送信元メールアドレス~~~~~~~~~~~~~~~";
if(events.length > 0){
honbun = Utilities.formatDate(dtS,"GMT+09:00","yyyy/MM/dd")+"("+youbiDtS +")"+ "~"+ Utilities.formatDate(dtE,"GMT+09:00","yyyy/MM/dd")+"("+youbiDtE +")" +calName + "の予定は下記の通りです"+ "\n\n";
for(var i=0; i < events.length; i++){
honbun += Utilities.formatDate(events[i].getStartTime(),"GMT+0900","yyyy年M月d日") ;
honbun += " :";
honbun += events[i].getTitle() + "\n";
}
honbun += "\n" + "カレンダーは以下のURLです" + "\n\n";
honbun += "~~~~~~~~~~~~~~~カレンダーURL~~~~~~~~~~~~~~~" + "\n\n";
} else {
honbun = Utilities.formatDate(dtS,"GMT+09:00","yyyy/MM/dd")+"("+youbiDtS +")"+ "~"+ Utilities.formatDate(dtE,"GMT+09:00","yyyy/MM/dd")+"("+youbiDtE +")" +calName + "の予定はありません"+ "\n\n";
}
GmailApp.sendEmail(mailto, kenmei, honbun,option);
}
テスト 見出しへのリンク
今週の予定作業が宛先メールアドレスに送信されていることを確認します。
プロジェクトのトリガー設定 見出しへのリンク
※どのくらいの周期でプログラムを実行させるのか設定します。
これで毎週月曜日のAM6時~7時の間に自動でメール送信されます。
だいたい6時20分台に送信されることが多いです。