在使用JavaScript运行的Google表格中,我收到此消息“无法找到方法setActiveSheet(string)。(第4行,文件”代码“)”,我不知道为什么......我我很喜欢编码,所以请耐心等待。
function onOpen() {
var email = Session.getActiveUser().getEmail();
var sheet = email.slice(0,-11);
SpreadsheetApp.setActiveSheet(sheet)
}
答案 0 :(得分:3)
你得到"找不到方法"错误,因为setActiveSheet()方法采用Sheet类型的参数,而不是字符串。请参阅此处的规范:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#setActiveSheet(Sheet)
为了从字符串中获取Sheet对象,您需要打开父电子表格,然后按名称获取相应的工作表,然后将其传递给setActiveSheet。
假设此脚本嵌入在相关的电子表格中,如下所示:
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(spreadsheet.getSheetByName(sheet));
答案 1 :(得分:0)
这对我来说很好。
function theSecondSheet() {
var activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
if(activeSpreadSheet.getSheetByName("Sheet2").activate()){
SpreadsheetApp.setActiveSheet(activeSpreadSheet.getSheetByName("Sheet2"));
}
}