Google 表格到日历脚本

Google Sheets to Calendar Script

我对脚本编辑还很陌生。我有一个来自在线资源的电子表格,我复制了它以便为学生添加活动。

我希望能够添加描述,然后根据 class 更改事件颜色。我正在使用的脚本复制在下面。我不知道如何为活动添加 描述颜色 ID

function scheduleShifts() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
    var calendarID = spreadsheet.getRange("C4").getValue();
    var eventCal = CalendarApp.getCalendarById("calendarId");
var signups = spreadsheet.getRange("A5:C7").getValues();
for (x=0; x<signups.length;x++)
{
    var shift = signups[x];
    var startTime = shift[0];
    var endTime = shift[1];
    var volunteer= shift[2];
    eventCal.createEvent(volunteer, startTime, endTime);
}
}

如@Ruben 所述,您可以使用 Calendar.createEvent(title, startTime, endTime, options) to create events with additional options like description, location, guests and sendInvites. It will return a CalendarEvent object where you can set your event color using CalendarEvent.setColor(color). You can check other methods available in CalendarEvent 对象获取更多信息。

示例代码:

function scheduleShifts() {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarID = spreadsheet.getRange("C4").getValue();
  var eventCal = CalendarApp.getCalendarById(calendarID);
  var signups = spreadsheet.getRange("A5:E7").getValues(); //modified, include column D and E

  
  for (x=0; x<signups.length;x++)
  {
    var shift = signups[x];
    var startTime = shift[0];
    var endTime = shift[1];
    var volunteer= shift[2];
    var desc= shift[3];
    var color = shift[4];
    var event = eventCal.createEvent(volunteer, startTime, endTime,{description:desc});

    //Check if color exist
    if(color){
      //Set event color
      event.setColor(CalendarApp.EventColor[color]);
    }
  }
}

输出: