Google脚本覆盖整张表,不是特定范围

时间:2017-05-03 02:46:31

标签: arrays google-apps-script

在下面的函数中,我通过第二张工作表上的表单响应获取多列中的数据,并将信息放在我的第一张工作表中。

我想在数据之后有第一个空白列,目前我的新工作表中的G可编辑,以便有人可以进入并“批准”每行的内容。现在,当这个脚本运行时,它会覆盖G列的内容。我认为使用sh0.getRange(2,1,aMain.length,6).setValues(aMain)行中的数字6;告诉脚本只将数据放入6列......看起来并非如此。

我还认为我可以通过将该行更改为sh0.getRange(2,2 ...它可以让我将第一列保留为可编辑列...而无效任

有任何建议允许我使用此脚本并保持列可编辑吗?

function SPLIT() {


var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var sh0 = ss.getSheets()[0], sh1 = ss.getSheets()[1];

  // get data from sheet 2
  var data = sh1.getDataRange().getValues();

  // create array to hold data
  var aMain = new Array();

  // itterate through data and add to array
  // i is the loop, j=3 is the column it starts to loop with, j<9 tells it where to stop.
  // in the aMain.push line, use data[i][j] for the rows to search and put in the one column.

  for(var i=1, dLen=data.length; i<dLen; i++) {
    for(var j=5; j<9; j++) {
      aMain.push([data[i][0],data[i][1],data[i][2],data[i][3],data[i][4],data[i][j]]);
    }
    // add array of data to first sheet
    // in the last line, change the last number to equal the number of columns in your final sheet.
    // the first number in getrange is the row the data starts on... 1 is column.
  sh0.getRange(2, 1, aMain.length, 6).setValues(aMain);

   }
}

0 个答案:

没有答案