修改最近创建的电子表格

时间:2012-11-05 22:49:47

标签: google-apps-script

我一直在编写一个脚本,允许我修改最近创建的电子表格 这就是我想要做的事情:

  1. 创建新电子表格
  2. 将当前电子表格中的工作表复制到新电子表格
  3. 在新电子表格中替换新工作表的名称。
  4. 以下是我创建的代码,但是当我运行它时,我可以创建电子表格,但原始电子表格中的工作表不会复制到新的电子表格中。基本上我可以创建电子表格但是一旦创建了我我不能写新的。任何想法??“

    function dashboards(){
       //creates dashboards
       var ss1 = SpreadsheetApp.getActiveSpreadsheet();
       ss1.setActiveSheet(ss1.getSheetByName("Sheet1"));
       var ssNew = SpreadsheetApp.create("New spreadsheet").getId();
       var ss2 = SpreadsheetApp.openById(ssNew).setActiveSpreadsheet;
       ss1.copyTo(ssNew)
       ssNew.renameActiveSheet("newsheet");;
    }
    

1 个答案:

答案 0 :(得分:1)

看起来你非常接近,但我不能跟随所有变量引用。这是重写的版本,对我有用。

我认为主要问题可能是第6行中挂起的setActiveSpreadsheet调用可能会破坏您的变量分配。

要做的另一个要点是,您可以从copyTo电话

返回新电子表格中对工作表的引用
function dashboards(){
   var ss1 = SpreadsheetApp.getActiveSpreadsheet();
   var origSheet = ss1.getSheetByName('Sheet1');
   var ssNew = SpreadsheetApp.create('New spreadsheet').getId();
   var ss2 = SpreadsheetApp.openById(ssNew);
   var newSheet = origSheet.copyTo(ss2);
   newSheet.setName('newsheet');
}