메뉴 건너뛰기

app

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

lispro062014.04.12 22:10조회 수 6108댓글 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 조회 1705
lispro06
2015.05.15 조회 1676
lispro06
2015.05.15 조회 2574
lispro06
2014.08.16 조회 1814
lispro06
2014.02.08 조회 4113
lispro06
2013.12.11 조회 1743
lispro06
2013.12.10 조회 3056
suritam9
2013.12.06 조회 2328
suritam9
2013.12.02 조회 3526
suritam9
2013.11.30 조회 2204
suritam9
2013.11.26 조회 1710
suritam9
2013.08.23 조회 7384
suritam9
2013.08.23 조회 1917
suritam9
2013.06.28 조회 2404
첨부 (0)
위로