从电子表格导入日历中的日期/时间值时出现未定义的错误

时间:2013-03-19 08:43:56

标签: google-apps-script google-apps

该脚本的目的是将谷歌电子表格中的数据导入谷歌日历。

function caltest1() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 11;  // First row of data to process
  var numRows = 4;   // Number of rows to process
  var dataRange = sheet.getRange(startRow, 1, numRows, 5);
  var data = dataRange.getValues();
  var cal = CalendarApp.getDefaultCalendar();
  for (i in data) {
    var row = data[i];
    var title = row[0];  // First column
    var desc = row[1];       // Second column
    var tstart = row[5];
    var tstop = row[6];
    var loc = row[7];
    //cal.createEvent(title, new Date("March 3, 2010 08:00:00"), new Date("March 3, 2010 09:00:00"), {description:desc,location:loc});
    cal.createEvent(title, tstart, tstop, {description:desc,location:loc});
 }
}

第5列和第6列的值是;

2-3-2013 17:00:00 2-3-2013 18:00:00

启动调试工具时 - 我收到消息tstart = undefined和tstop = undefined

当我删除时间值时它工作正常...但我想在我的日历中也有时间值...我该如何解决这个问题?

Thanks..remco

1 个答案:

答案 0 :(得分:1)

您将dataRange定义为包含5列的数组,因此您无法获得值> 4(0索引)。

只需将dataRange的尺寸增加到至少8列

即可