重命名工作表一旦复制到另一个电子表格-删除“副本”?

时间:2018-08-07 11:28:13

标签: google-apps-script google-sheets

希望相对简单,但似乎找不到答案。

我有一个将当前工作表复制(存档)到另一个电子表格的功能,但是在目标电子表格中它称为“ [工作表名称]的副本”。

希望我可以摆脱零件的复制,但是setName()似乎无效。

下面的代码中的所有内容都可以使用到最后两行。

function archiveCurrentSheet() {
  SpreadsheetApp.getUi() 
  var areyousure = Browser.msgBox('Are you sure you want to archive this sheet?', Browser.Buttons.OK_CANCEL);
   if (areyousure == "cancel" ) {
    }
    else {
      var source = SpreadsheetApp.getActiveSpreadsheet();
      var currentSheetName = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
      var sheet = source.getActiveSheet();
      var destination = SpreadsheetApp.openById("ID");
      sheet.copyTo(destination);    
      var sheetRename = SpreadsheetApp.openById("ID").getSheets();
      sheetRename.setName(currentSheetName);    
    }
}

它给出错误:“ TypeError:在对象Sheet,Sheet,Sheet,Sheet,Sheet,Sheet,Sheet,Sheet中找不到函数setName。”

谢谢!

p.s。好处:那将是我如何删除当前

1 个答案:

答案 0 :(得分:1)

sheet.copyTo(destination)方法返回新的工作表,因此您可以执行以下操作。

  sheet.copyTo(destination).setName(currentSheetName);