Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌脚本GetRange是乘法而不是加法?_Javascript_Google Apps Script_Google Sheets_Google Calendar Api - Fatal编程技术网

Javascript 谷歌脚本GetRange是乘法而不是加法?

Javascript 谷歌脚本GetRange是乘法而不是加法?,javascript,google-apps-script,google-sheets,google-calendar-api,Javascript,Google Apps Script,Google Sheets,Google Calendar Api,我有一个代码,它应该输入一个日历事件,然后在单元格中插入一个便条,上面写着“Inputed”。这一部分有效,但仅在一定程度上有效 如果我有多个事件(在单独的行上),它会在第一个事件上显示我想要的“输入”。但对于其他人,它会在下面10行而不是1行创建注释。看看我的代码,我看不到任何会导致它这样做的东西——因为日历事件是完美创建的。我相信它存在于var Comment部分,但是那里没有乘法 谁能看出我错在哪里 function CalendarInput() { var sheet

我有一个代码,它应该输入一个日历事件,然后在单元格中插入一个便条,上面写着“Inputed”。这一部分有效,但仅在一定程度上有效

如果我有多个事件(在单独的行上),它会在第一个事件上显示我想要的“输入”。但对于其他人,它会在下面10行而不是1行创建注释。看看我的代码,我看不到任何会导致它这样做的东西——因为日历事件是完美创建的。我相信它存在于
var Comment
部分,但是那里没有乘法

谁能看出我错在哪里

  function CalendarInput() {

      var sheet = SpreadsheetApp.getActiveSheet();

       var startRow = 2;  // First row of data to process
      var numRows = 3;   // Number of rows to process
      var dataRange = sheet.getRange(startRow, 1, numRows, 26); //What data will be used
      var data = dataRange.getValues();
      var cal = CalendarApp.getDefaultCalendar(); //Gets the correct calendar
    for (i in data) {
      var row = data[i];
      var title = row[2];  // Column with Title
      var desc = row[8];       // Column with Description
      var date = row[3];   //Column with Date
      var edate = row[4] //Column with end date
      var loc = row[9];    //Column with Location
      var invite = row[11] //Column with Invite List
      var sent = row[12] //Check Sent
      var check = row[7]
      var Comment = sheet.getRange(i+startRow, 7).setNote("Inputted")


              cal.createAllDayEventSeries(title, new Date(date), CalendarApp.newRecurrence().addDailyRule().until(new Date(edate)), {description:desc,location:loc,guests:invite})

关于在中使用
for..来循环阵列,有文档记录的警告,请参见示例

您看到的问题是由应用程序脚本中的
for..in
工作方式引起的

演示代码 此测试函数将演示在第行
i+startRow
上执行
.setComment()
时发生的情况:

function test() {
  var data = [ [2,3,4,5],[5,4,3,2],[6,7,8,9],[9,8,7,6] ];
  var startRow = 2;
  var i;

  Logger.log("for (var i in data)");
  for (i in data) {
    Logger.log( i + startRow );
  }
  Logger.log(typeof i);

  Logger.log("for (var i = 0; i < data.length ; i++)");
  for (i = 0; i < data.length ; i++) {
    Logger.log( i + startRow );
  }
  Logger.log(typeof i);
}
[13-06-01 22:41:10:046 EDT] for (var i in data)
[13-06-01 22:41:10:046 EDT] 02
[13-06-01 22:41:10:046 EDT] 12
[13-06-01 22:41:10:046 EDT] 22
[13-06-01 22:41:10:046 EDT] 32
[13-06-01 22:41:10:047 EDT] string

[13-06-01 22:41:10:047 EDT] for (var i = 0; i < data.length ; i++)
[13-06-01 22:41:10:047 EDT] 2.0
[13-06-01 22:41:10:047 EDT] 3.0
[13-06-01 22:41:10:047 EDT] 4.0
[13-06-01 22:41:10:047 EDT] 5.0
[13-06-01 22:41:10:047 EDT] number
for (var i = 0; i < data.length ; i++) {
  ...