将有效范围更改为新生成的图纸会导致错误

时间:2019-06-04 17:59:04

标签: google-apps-script google-sheets

收到错误,

  

ReferenceError:未定义“ setActiveSelection”。

在Google表格上使用Google Apps脚本。使用此功能,我想使用另一个工作簿中的模板在同一工作簿上创建新的工作表标签。创建新工作表后,我想将活动选择的单元格更改为单元格“ B1”。模板可以很好地复制,但是错误来自更改活动选择的行。我也尝试过setActiveRange甚至只是setActiveSheet,但它们返回相同的错误。

function newReception() {  
  var templateSpreadsheet = SpreadsheetApp.openById("ID Redacted");
  var template = templateSpreadsheet.getSheets()[1]; 

  var currentSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var newSheet = template.copyTo(currentSpreadsheet).setName("Untitled 
   Reception");

  setActiveSelection(currentSpreadsheet.getSheetbyName("Untitled 
   Reception").getRange('B1'));

}

请提供解决方案的建议。谢谢!

1 个答案:

答案 0 :(得分:0)

您遇到此问题是因为您自己运行.setActiveSelection()。此方法绑定到图纸,因此您必须为此运行它。有关此方法的更多详细信息,请参见Class Sheet文档。

尝试将工作表定义为变量,然后为新的工作表变量运行它。

var sheet = currentSpreadsheet.getSheetbyName("Untitled Reception");
sheet.setActiveSelection('B1');