function executeInPosting() {
//==========================================================
// 設定箇所
//==========================================================
var CALENDAR_ID = '*****@gmail.com';
var SHIFT1 = '休み';
var SHIFT2 = '日勤';
var SHIFT3 = 'L日勤';
var SHIFT4 = '準夜';
var SHIFT5 = 'L準夜';
var SHIFT6 = '深夜';
var SHIFT7 = 'L深夜';
var SHIFT8 = '遅番';
var YEAR_COLUMN = 'B';
var MONTH_COLUMN = 'C';
var SHIFT1_COLUMN = 'D';
var SHIFT2_COLUMN = 'E';
var SHIFT3_COLUMN = 'F';
var SHIFT4_COLUMN = 'G';
var SHIFT5_COLUMN = 'H';
var SHIFT6_COLUMN = 'I';
var SHIFT7_COLUMN = 'J';
var SHIFT8_COLUMN = 'K';
//----------------------------------------------------------
var sheet = SpreadsheetApp.getActiveSheet();
bottom = sheet.getLastRow();
var year = sheet.getRange(YEAR_COLUMN + bottom).getValue();
var month = sheet.getRange(MONTH_COLUMN + bottom).getValue();
var shift1 = sheet.getRange(SHIFT1_COLUMN + bottom).getValue();
var shift2 = sheet.getRange(SHIFT2_COLUMN + bottom).getValue();
var shift3 = sheet.getRange(SHIFT3_COLUMN + bottom).getValue();
var shift4 = sheet.getRange(SHIFT4_COLUMN + bottom).getValue();
var shift5 = sheet.getRange(SHIFT5_COLUMN + bottom).getValue();
var shift6 = sheet.getRange(SHIFT6_COLUMN + bottom).getValue();
var shift7 = sheet.getRange(SHIFT7_COLUMN + bottom).getValue();
var shift8 = sheet.getRange(SHIFT8_COLUMN + bottom).getValue();
var shift1List = String(shift1).split(',');
var shift2List = String(shift2).split(',');
var shift3List = String(shift3).split(',');
var shift4List = String(shift4).split(',');
var shift5List = String(shift5).split(',');
var shift6List = String(shift6).split(',');
var shift7List = String(shift7).split(',');
var shift8List = String(shift8).split(',');
// シフト1を登録
for (var i = 0; i < shift1List.length; i++) {
var dateStr = year + '/' + month + '/' + shift1List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT1, date);
Logger.log('createEvent() is done.');
}
// シフト2を登録
for (var i = 0; i < shift2List.length; i++) {
var dateStr = year + '/' + month + '/' + shift2List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT2, date);
Logger.log('createEvent() is done.');
}
// シフト3を登録
for (var i = 0; i < shift3List.length; i++) {
var dateStr = year + '/' + month + '/' + shift3List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT3, date);
Logger.log('createEvent() is done.');
}
// シフト4を登録
for (var i = 0; i < shift4List.length; i++) {
var dateStr = year + '/' + month + '/' + shift4List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT4, date);
Logger.log('createEvent() is done.');
}
// シフト5を登録
for (var i = 0; i < shift5List.length; i++) {
var dateStr = year + '/' + month + '/' + shift5List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT5, date);
Logger.log('createEvent() is done.');
}
// シフト6を登録
for (var i = 0; i < shift6List.length; i++) {
var dateStr = year + '/' + month + '/' + shift6List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT6, date);
Logger.log('createEvent() is done.');
}
// シフト7を登録
for (var i = 0; i < shift7List.length; i++) {
var dateStr = year + '/' + month + '/' + shift7List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT7, date);
Logger.log('createEvent() is done.');
}
// シフト8を登録
for (var i = 0; i < shift8List.length; i++) {
var dateStr = year + '/' + month + '/' + shift8List[i];
Logger.log(dateStr);
var date = new Date(dateStr);
Logger.log(date);
createEvent(CALENDAR_ID, SHIFT8, date);
Logger.log('createEvent() is done.');
}
}
// カレンダーに終日のイベントを作成
function createEvent(calendarId, title, date) {
const calendar = CalendarApp.getCalendarById(calendarId);
const event = calendar.createAllDayEvent(title, date);
if (title === '休み')
event.setColor(CalendarApp.EventColor.PALE_RED);
else if (title === '日勤')
event.setColor(CalendarApp.EventColor.ORANGE);
else if (title === 'L日勤')
event.setColor(CalendarApp.EventColor.ORANGE);
else if (title === '準夜')
event.setColor(CalendarApp.EventColor.CYAN);
else if (title === 'L準夜')
event.setColor(CalendarApp.EventColor.CYAN);
else if (title === '深夜')
event.setColor(CalendarApp.EventColor.MAUVE);
else if (title === 'L深夜')
event.setColor(CalendarApp.EventColor.MAUVE);
else if (title === '遅番')
event.setColor(CalendarApp.EventColor.YELLOW);
else
event.setColor(CalendarApp.EventColor.GRAY);
}
コメント