메뉴 건너뛰기

app

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

lispro062014.04.12 22:10조회 수 6064댓글 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 조회 1677
lispro06
2015.05.15 조회 1650
lispro06
2015.05.15 조회 2543
lispro06
2014.08.16 조회 1794
lispro06
2014.02.08 조회 4054
lispro06
2013.12.11 조회 1715
lispro06
2013.12.10 조회 3017
suritam9
2013.12.06 조회 2296
suritam9
2013.12.02 조회 3485
suritam9
2013.11.30 조회 2189
suritam9
2013.11.26 조회 1687
suritam9
2013.08.23 조회 7350
suritam9
2013.08.23 조회 1893
suritam9
2013.06.28 조회 2371
첨부 (0)
위로