###前提・実現したいこと
Google Apps Scriptを使いグーグルカレンダーの翌日と翌々日の予定を
自分のGmailに送っています。
しかし、このコードには重複があるので、DRY原則(Don't repeat yourself)にしたがってシンプルにしたいです。
###発生している問題・エラーメッセージ
コードに重複がある。
###該当のソースコード
Javascript
1function scheduleMail() { 2 var now = new Date(); 3 var nYear = now.getFullYear(); 4 var nMonth = now.getMonth(); 5 var nDate = now.getDate(); 6 7 var cal = CalendarApp.getDefaultCalendar(); 8 var events = cal.getEventsForDay(new Date(nYear, nMonth, nDate + 1)); 9 10 var honbun = ""; 11 var kenmei = "明日の予定です"; 12 var mailto = "XXXXX@gmail.com"; 13 14 if(events.length > 0){ 15 honbun = "明日の予定は下記の通りです" + "\n\n"; 16 for(var i=0; i < events.length; i++){ 17 honbun += Utilities.formatDate(events[i].getStartTime(),"GMT+0900"," HH時mm分") + " ~ "; 18 honbun += Utilities.formatDate(events[i].getEndTime(),"GMT+0900"," HH時mm分") + " :"; 19 honbun += events[i].getTitle() + "\n"; 20 } 21 } else { 22 honbun = "明日の予定はありません"; 23 } 24 25 MailApp.sendEmail(mailto, kenmei, honbun, 26 {from: 'XXXXX', 27 name: 'XXXXX'}); 28 29 var now2 = new Date(); 30 var nYear2 = now.getFullYear(); 31 var nMonth2 = now.getMonth(); 32 var nDate2 = now.getDate(); 33 34 var cal2 = CalendarApp.getDefaultCalendar(); 35 var events2 = cal2.getEventsForDay(new Date(nYear2, nMonth2, nDate2 + 2)); 36 37 var honbun2 = ""; 38 var kenmei2 = "明後日の予定です"; 39 var mailto2 = "XXXXX@gmail.com"; 40 41 if(events2.length > 0){ 42 honbun2 = "明後日の予定は下記の通りです" + "\n\n"; 43 for(var i=0; i < events2.length; i++){ 44 honbun2 += Utilities.formatDate(events2[i].getStartTime(),"GMT+0900"," HH時mm分") + " ~ "; 45 honbun2 += Utilities.formatDate(events2[i].getEndTime(),"GMT+0900"," HH時mm分") + " :"; 46 honbun2 += events2[i].getTitle() + "\n"; 47 } 48 } else { 49 honbun2 = "明後日の予定はありません"; 50 } 51 52 MailApp.sendEmail(mailto2, kenmei2, honbun2, 53 {from: 'XXXXX', 54 name: 'XXXXX'}); 55} 56
###試したこと
なし
###補足情報(言語/FW/ツール等のバージョンなど)
GASの現行バージョン
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/18 00:18