function onOpen(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [{name: "가져오기", functionName: "exeManual"}];
ss.addMenu("휴가기록 가져오기", menuEntries);
}
function exeManual(){
var inputDay = Browser.inputBox('날자입력','시작날자를 "YYYY-MM-DD" 형태로 입력하세요', Browser.Buttons.OK_CANCEL);
if( inputDay.length < 10 ) {
Browser.msgBox('입력형식이 틀렸읍니다');
return;
}
importEvents( inputDay );
}
function exeAuto(){
var inputDay = new Date();
importEvents( inputDay );
}
// 캘린더에서 이벤트를 가져오는 함수
function importEvents( inputDay ){
var startOfDay = new Date(inputDay);
startOfDay.setUTCHours(0);
startOfDay.setMinutes(0);
startOfDay.setSeconds(0);
startOfDay.setMilliseconds(0);
//var endOfDay = new Date(startOfDay.getTime() + 24 * 60 * 60 * 1000);
var lastDay = (new Date( startOfDay.getFullYear(),startOfDay.getMonth()+1,0)).getDate();
var endOfDay = new Date( startOfDay.getFullYear(),startOfDay.getMonth()+1,lastDay);
startOfDay.setDate(1);
Logger.log('--d---' + startOfDay + '::' + endOfDay);
var Calendar = CalendarApp.getCalendarById("mz.co.kr_srg6jo25ps4k79dlgugqoii8i8@group.calendar.google.com");
var events = Calendar.getEvents(startOfDay, endOfDay)
var events_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("원본자료");
var lr = events_sheet.getLastRow();
var rng = events_sheet.getRange(1,1,lr,7);
rng.clearContent();
var eventarray = new Array();
var i = 0; // edited
for (i = 0; i < events.length; i++) {
line = new Array();
var customEndDate = new Date(events[i].getEndTime() - 36e5);
line.push(events[i].getTitle());
line.push(events[i].getDescription());
line.push(events[i].getStartTime());
line.push(customEndDate.getFullYear() + '. ' + (customEndDate.getMonth() + 1) + '. ' + customEndDate.getDate());
var nTitle = events[i].getTitle().split('[')[1].split('_')[0];
if( nTitle.split(' ')[1] == null ) {
var nTitle = nTitle.split(' ')[0];
line.push( nTitle );
} else {
var nTitle = nTitle.split(' ')[0] + nTitle.split(' ')[1];
line.push( nTitle );
}
//line.push(events[i].getTitle().split('[')[1].split('_')[0]);
line.push(events[i].getTitle().split(']')[1].trim());
var count = (events[i].getTitle().match(/_/g) || []).length;
if( count == 1 ) {
line.push(events[i].getTitle().split(']')[0].split('_')[1]);
}
else {
line.push(events[i].getTitle().split(']')[0].split('_')[2]);
}
eventarray.push(line);
}
events_sheet.getRange('A1:G' + (i)).setValues(eventarray);
}
IT