메뉴 건너뛰기

app

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

lispro062014.04.12 22:10조회 수 6142댓글 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 조회 1737
lispro06
2015.05.15 조회 1701
lispro06
2015.05.15 조회 2596
lispro06
2014.08.16 조회 1842
lispro06
2014.02.08 조회 4159
lispro06
2013.12.11 조회 1772
lispro06
2013.12.10 조회 3090
suritam9
2013.12.06 조회 2357
suritam9
2013.12.02 조회 3564
suritam9
2013.11.30 조회 2233
suritam9
2013.11.26 조회 1751
suritam9
2013.08.23 조회 7416
suritam9
2013.08.23 조회 1956
suritam9
2013.06.28 조회 2441
첨부 (0)
위로