Google apps script 如何使我的工作表脚本从给定范围在日历中创建多个事件?

Google apps script 如何使我的工作表脚本从给定范围在日历中创建多个事件?,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,我正在尝试使用下面的脚本根据工作表中输入的日期和名称创建日历事件。我有一个未解决的问题——代码运行成功,但问题是在给定范围(A1:C17)中,只有最后一行(17)变成了日历事件。我就是不明白。检查到目前为止:表的范围和格式,所有的API和授权,日历设置和几乎所有我想到的。我还搜索了有关此特定错误/故障的文档,到目前为止没有找到任何文档 函数CreateEvent(){ var电子表格=SpreadsheetApp.getActiveSheet(); var calendarId='primar

我正在尝试使用下面的脚本根据工作表中输入的日期和名称创建日历事件。我有一个未解决的问题——代码运行成功,但问题是在给定范围(A1:C17)中,只有最后一行(17)变成了日历事件。我就是不明白。检查到目前为止:表的范围和格式,所有的API和授权,日历设置和几乎所有我想到的。我还搜索了有关此特定错误/故障的文档,到目前为止没有找到任何文档


函数CreateEvent(){
var电子表格=SpreadsheetApp.getActiveSheet();
var calendarId='primary'
var eventCal=CalendarApp.getCalendarById(calendarId);
var signups=spreadsheet.getRange('A1:C17').getValues();
对于(x=0;x
函数CreateEvent(){
var电子表格=SpreadsheetApp.getActiveSheet();
var calendarId='primary'
var eventCal=CalendarApp.getCalendarById(calendarId);
var signups=spreadsheet.getRange('A1:C17').getValues();

对于(x=0;xy),您需要了解for循环的作用。提示:查看
createEvent()的位置
与loop@Oleg为便于将来参考,请避免在内联图像时删除标题。它提供了上下文。@TheMaster-是吗?很抱歉,我好像把那个部分搞糟了……Upd:我明白了,确实应该将它们移出标记
function CreateEvent () {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = 'primary'
  var eventCal = CalendarApp.getCalendarById(calendarId);  
  var signups = spreadsheet.getRange('A1:C17').getValues();

  for (x=0; x<signups.length; x++) {
    var shift = signups[x];
    var startTime = shift[0];
    var endTime = shift[1];
    var campaignname = shift[2];
  }
  eventCal.createEvent(campaignname, startTime, endTime);
}
function CreateEvent () {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = 'primary'
  var eventCal = CalendarApp.getCalendarById(calendarId);  
  var signups = spreadsheet.getRange('A1:C17').getValues();

  for (x=0; x<signups.length; x++) {
    var shift = signups[x];
    var startTime = shift[0];
    var endTime = shift[1];
    var campaignname = shift[2];
    eventCal.createEvent(campaignname, startTime, endTime);
  }
}