메뉴 건너뛰기

app

[GAS] 구글 캘린더 일정을 스프레드 시트로 가져오기

lispro062014.04.12 22:10조회 수 6001댓글 1

    • 글자 크기
캘린더 ID를 입력하고, 시작일과 종료일을 설정해 넣으면 된다.
시작일은 당월 1일로 하고, 현재 일까지 하여 가져오는 예제이다.

function importEvents(){
  var startOfDay = new Date();
      startOfDay.setUTCHours(0);
      startOfDay.setMinutes(0);
      startOfDay.setSeconds(0);
      startOfDay.setMilliseconds(0);
  var endOfDay = new Date(startOfDay.getTime() + 24 * 60 * 60 * 1000);
      startOfDay.setDate(1);
  

  var Calendar = CalendarApp.getCalendarById("캘린더ID");
  var events = Calendar.getEvents(startOfDay, endOfDay)
  var events_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ImportedEvents");
  var lr = events_sheet.getLastRow();

  var eventarray = new Array();

  var i = 0; // edited
    for (i = 0; i < events.length; i++) {
      line = new Array();
      line.push(events[i].getTitle());
      line.push(events[i].getDescription());
      line.push(events[i].getStartTime());
      line.push(events[i].getEndTime());
      eventarray.push(line);
    }

    events_sheet.getRange('A1:D' + (i)).setValues(eventarray);

}
lispro06 (비회원)
    • 글자 크기

댓글 달기

댓글 1
  • 범위 설정할 때, 아래와 같이 입력할 배열의 길이로 할 수 있지만, 내용에서는 스트링 컨카터네이션으로 처리했다. 굉장히 좋은 코드인데, 안 쓰고 있었다.
        var range1 = ss.getSheetByName('시트이름').getRange(3,1,val.length,1);
suritam9
2013.04.25 조회 6115
suritam9
2013.04.04 조회 2197
suritam9
2012.09.14 조회 2515
suritam9
2012.06.24 조회 2366
suritam9
2012.06.24 조회 2777
suritam9
2012.06.24 조회 2538
suritam9
2012.06.22 조회 2582
박영식
2011.09.22 조회 2544
박영식
2011.09.21 조회 2488
박영식
2011.02.18 조회 2964
박영식
2010.09.29 조회 4757
첨부 (0)
위로