Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
function DeliverCalendarEventsSend() {
var myCal = CalendarApp.getCalendarById('XXXXX@gmail.com');
Logger.log('myCal='+myCal);
var myEvents = myCal.getEventsForDay(new Date()); //今日の予定を取得
Logger.log('myEvents='+myEvents);
// スプレッドシートに何かさせる場合はファイルを開く
var spreadsheet = SpreadsheetApp.openById('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
var sheet = spreadsheet.getActiveSheet();
Logger.log('spreadsheet='+spreadsheet);
var LastRows = spreadsheet.getLastRow()+1;
var LastCols = spreadsheet.getLastColumn();
Logger.log('LastRows='+LastRows);
/* 文字列のヘッダー */
// var strBody = "本日の予定:" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + " (roger)[/title]"
var message = '';
var today = Utilities.formatDate(new Date(), 'JST', 'YYYY/MM/dd');
sheet.getRange(LastRows,1).setValue(today);
/* イベントの数だけ繰り返し */
for(var i=0;i<myEvents.length;i++){
var strTitle = myEvents[i].getTitle(); //イベントのタイトル
var strStart = HHmm(myEvents[i].getStartTime()); //イベントの開始時刻
var strEnd = HHmm(myEvents[i].getEndTime()); //イベントの終了時刻
sheet.getRange(LastRows,(i*3)+2).setValue(strTitle);
sheet.getRange(LastRows,(i*3)+3).setValue(strStart);
sheet.getRange(LastRows,(i*3)+4).setValue(strEnd);
if (strStart === '00:00' & strEnd === '00:00'){
message +='予定:'+strTitle+' 終日\n\n';
}else{
message +='予定:'+strTitle+' 開始時間:'+strStart+' 終了時間:'+strEnd+'\n\n';
}
}
// メール送信先w
var admin_name ="本日の予定"; // 送信メールの名前
var admin = "XXXXXXXXXXXXXXX"; // 送信元アドレス
var address = 'XXXXXXXXXXXXXXXXXXXX';
var title = '本日のスケジュールです。';
var content = '本日のスケジュールです▼\n\n'
+ message
+'\n'
+'本日の送信可能件数残:'
+ MailApp.getRemainingDailyQuota();
//メール送信
GmailApp.sendEmail(address, title, content,
{
from: admin, //fromアドレス
name: admin_name //差出人
}
);
/* 時刻の表記をHH:mmに変更 */
function HHmm(str){
return Utilities.formatDate(str, 'JST', 'HH:mm');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment