Google Script insertSheet不接受字符串对象?

时间:2017-05-18 18:40:08

标签: google-apps-script

因此,我从电子表格中获取数据,将相关部分放入数组并将其写回新的电子表格。数据来自谷歌表格,并不是每个人都有每个问题的输入,所以我只采取非空的问题。这导致我的数组的长度变化

所以我把它归结为最最开始的步骤,我被困在你插入工作表的部分,它在1的迭代上工作正常,但是当我在循环上执行它时会出现错误。

    for (j=2; j <= 3 ; j++)// I have 23 iterations, but I stopped at 2 for now
    {

      var cellLocation = new String ("B" + j + ":AC" + j);
      Logger.log("J is " + j + "Cell location " + cellLocation);
      var workingRange = buySheet.getRange(cellLocation);
      var customer = workingRange.getValues(); //this produces a range of the row
      Logger.log("Range is " + workingRange.getA1Notation() + " data is " + customer[0][0]); 
    //At first I thought it was the range- so I broke everything out into the tiniest step 

    var nameCustomer = new String(customer[0][0]);
    Logger.log("nameCustomer is " + nameCustomer);
    //this correctly prints out the names as strings- through 23 iterations
    var create = buySheet.insertSheet(nameCustomer); 
   //this is a sheet object with the customers name- fails after the first iteration, and creates sheets with blank names -
}

这是我正在使用的参考:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#insertSheet(String)

我已经在此之后评论了所有内容以解决这个问题。我试过在循环外实例化字符串。我可以发布日志,我正在使用我拥有的真实数据,所以我不得不模糊人们的名字。

它适用于第一轮,如果我手动输入一个字符串,它就可以工作。

1 个答案:

答案 0 :(得分:0)

我明白了!当我创建新工作表时,它将活动工作表移动到新工作表。因此,在循环结束时,我必须将活动工作表重置为第一个工作表,其中包含我想要的数据。

回想起来似乎很明显。