创建谷歌电子表格的副本,而不复制脚本



我想知道我是否可以通过脚本复制现有电子表格,但不复制其原始脚本。

我有一个年度电子表格,用于管理所有同事的工资。在年底,我想制作电子表格的副本,以保存当年的数据。我将在明年重复使用原始电子表格。

因此,我制作了一个脚本来创建原始电子表格的新副本。我执行了脚本然后打开了脚本编辑器,但有相同的脚本也嵌入在原始电子表格中。

SpreadsheetApp.getActiveSpreadsheet().copy(); 这是我在剧本上写的。我应该怎么做才能只复制电子表格?

  • 如果只想保存值的副本,而不保存脚本或公式:

复制电子表格(包括结构(后SpreadsheetApp.getActiveSpreadsheet().copy();复制将单元格内容与getValues()setValues()一起粘贴到循环中。

function copyPasteValues(){
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var copy=ss.copy("Copy of spreadsheet "+ss.getId());
  var copyId=copy.getId()  
  var sheetNumber=ss.getSheets().length;
  for(var i=0; i<sheetNumber;i++)  {
    var values=ss.getSheets()[i].getDataRange().getValues();
    SpreadsheetApp.openById(copyId).getSheets()[i].getDataRange().setValues(values);
  }
  • 如果只是您要删除的脚本(单元格不包含公式(:

使用CopyTo()方法复制工作表:

function copyPasteSheet(){
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var destination=SpreadsheetApp.openById('DestinationID')
  var sheetNumber=ss.getSheets().length;
  for(var i=0; i<sheetNumber;i++)  {
    var values=ss.getSheets()[i].copyTo(destination);
  }
}

最新更新