【问题标题】:Google Sheets to Calendar Script谷歌表格到日历脚本
【发布时间】:2021-04-30 15:30:15
【问题描述】:

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

我希望能够添加描述,然后根据类更改事件颜色。我正在使用的脚本复制如下。我不知道如何添加事件的描述颜色 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);
}
}

【问题讨论】:

标签: google-apps-script google-sheets google-calendar-api


【解决方案1】:

正如@Ruben 所述,您可以使用Calendar.createEvent(title, startTime, endTime, options) 来创建带有描述、位置、客人和发送邀请等附加选项的活动。它将返回一个CalendarEvent 对象,您可以在其中使用CalendarEvent.setColor(color) 设置您的事件颜色。您可以查看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]);
    }
  }
}

输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 2021-11-24
    相关资源
    最近更新 更多