【GAS】スプレッドシートの予定を自動取得し、Googleカレンダーに追加する方法

 

スプレッドシート

gasカレンダー連携

GASのソースコード

function registerCalendar() { //関数名はregisterCalendar
  var calendar = CalendarApp.getCalendarById("Googleアカウントのメールアドレスを追加"); //CalendarAppはクラス名。getCalendarbyIdは、CalendarAppに対するメソッド。()内にはGoogleアカウント名を入力。
  var sheet = SpreadsheetApp.getActiveSheet(); //Spreadsheetクラス。
  var lastRow = sheet.getLastRow(); //lastRowは最後の行という意味。
  var contents = sheet.getRange(`A2:E${lastRow}`).getValues(); //getValuesはオブジェクト形式で使用することができる
  for(var i=0; i < contents.length; i++){
    var[status, day, title, startTime,endTime] = contents[i];
    if(status == "TRUE"){
      continue;
    }
    var date = new Date(date);
    if(startTime == "" || endTime == ""){
      calendar.createAllDayEvent(title,date)
    } else{
      var startDateobject = new Date(day);
      startDateobject.setHours(startTime.getHours());
      startDateobject.setMinutes(startTime.getMinutes());
      var endDateobject = new Date(day);
      endDateobject.setHours(endTime.getHours());
      endDateobject.setMinutes(endTime.getMinutes());
      calendar.createEvent(title,startDateobject,endDateobject);
    }
    sheet.getRange(`A${i + 2}`).setValue("TRUE");
  }
}

コメント