메뉴 건너뛰기

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 (비회원)
    • 글자 크기
[GAS] 다른 파일에서 VLOOKUP 유사 구현 (by lispro06) [안드로이드] gdb 연결 (by lispro06)

댓글 달기

댓글 1
  • 범위 설정할 때, 아래와 같이 입력할 배열의 길이로 할 수 있지만, 내용에서는 스트링 컨카터네이션으로 처리했다. 굉장히 좋은 코드인데, 안 쓰고 있었다.
        var range1 = ss.getSheetByName('시트이름').getRange(3,1,val.length,1);
lispro06
2015.05.15 조회 1632
lispro06
2015.05.15 조회 1600
lispro06
2015.05.15 조회 2492
lispro06
2014.08.16 조회 1739
lispro06
2014.02.08 조회 3979
lispro06
2013.12.11 조회 1648
lispro06
2013.12.10 조회 2953
suritam9
2013.12.06 조회 2249
suritam9
2013.12.02 조회 3423
suritam9
2013.11.30 조회 2139
suritam9
2013.11.26 조회 1626
suritam9
2013.08.23 조회 7291
suritam9
2013.08.23 조회 1826
suritam9
2013.06.28 조회 2313
첨부 (0)
위로