Google表格文档不正确?

时间:2015-05-13 00:02:06

标签: google-sheets

这是文档或我的代码中的错误吗?

function myFunction() {
  var searchTerm="achievement";
  var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main");
  var cp=main.copy(searchTerm+"_" + main.getName());

  for(n=0;n<cp[0].length;++n){
    var cell = cp[0][n] ; // 0 is the index of the row. starting from 0
    if(!cell.indexOf(searchTerm)>-1)
    {
      cp.deleteColumn(n);
    }
  }
}

错误:

Cannot find function copy in object Sheet

然而,文档似乎表明存在复制功能:here

1 个答案:

答案 0 :(得分:1)

代码中的错误在这里:

  var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main");

如果您打算使用Spreadsheet.copy(..),则可以复制SpreadsheetApp.getActiveSpreadsheet()。在更常见的术语中,它实际上会复制“工作簿”,包括所有工作表。主要包含的是特定的Sheet,它是Sheets的Spreadsheet集合中的单个Sheet对象。

Google的非标准条款让事情变得复杂。

如果您想将名为Main的电子表格复制到名为search_term +''+ main.getName()的新工作表中,您可以使用:

main.copyTo(SpreadsheetApp.getActiveSpreadsheet().insertSheet(search_term + ' ' + main.getName());

执行以下操作:

  1. 使用Search_Term
  2. 插入新名称,并使用新名称
  3. 将main的内容复制到新工作表。
  4. 从那里,您可以按名称选择新工作表并继续使用代码。