Google apps script 将活动范围更改为新生成的图纸会导致错误

Google apps script 将活动范围更改为新生成的图纸会导致错误,google-apps-script,google-sheets,Google Apps Script,Google Sheets,接收到错误 ReferenceError:“setActiveSelection”未定义 在谷歌表单上使用谷歌应用程序脚本。使用此函数,我希望使用另一工作簿中的模板在同一工作簿上创建新的工作表选项卡。创建新工作表后,我想将当前选定的单元格更改为“B1”单元格。模板复制正常,但错误来自更改活动选择的行。我也尝试过setActiveRange,甚至只是setActiveSheet,但它们返回相同的错误 function newReception() { var templateSpreads

接收到错误

ReferenceError:“setActiveSelection”未定义

在谷歌表单上使用谷歌应用程序脚本。使用此函数,我希望使用另一工作簿中的模板在同一工作簿上创建新的工作表选项卡。创建新工作表后,我想将当前选定的单元格更改为“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'));

}

请提出解决办法。谢谢

您遇到此问题是因为您正在独自运行
.setActiveSelection()
。此方法绑定到工作表,因此必须为此类工作表运行它。有关此方法的更多详细信息,请参阅文档

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

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

您之所以会遇到此问题,是因为您自己正在运行
.setActiveSelection()
。此方法绑定到工作表,因此必须为此类工作表运行它。有关此方法的更多详细信息,请参阅文档

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

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

谢谢,从这件事上想出来了。您的代码给了我错误“TypeError:在对象电子表格中找不到函数getSheetbyName”。但我能够通过不使用currentSpreadsheet变量并将其改为var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetbyName(“无标题接收”)来修复它;不确定是什么导致了第二个错误,但现在已经解决了。谢谢你的帮助!谢谢,从这件事上想出来了。您的代码给了我错误“TypeError:在对象电子表格中找不到函数getSheetbyName”。但我能够通过不使用currentSpreadsheet变量并将其改为var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetbyName(“无标题接收”)来修复它;不确定是什么导致了第二个错误,但现在已经解决了。谢谢你的帮助!