首页 > 解决方案 > 如何让我的表格脚本在给定范围内的日历中创建多个事件?

问题描述

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


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);
}

我的表格范围 A1:C17

运行脚本后从 5 月开始的我的日历条目,最后一行之前的所有 16 个条目都不存在

标签: google-apps-scriptgoogle-sheetsgoogle-calendar-api

解决方案


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);
  }
}

推荐阅读