【问题标题】:Cannot find method setActiveSheet(string)找不到方法 setActiveSheet(string)
【发布时间】:2015-02-01 02:17:33
【问题描述】:

在运行在 JavaScript 上的 Google 表格中,我收到这条消息“找不到方法 setActiveSheet(string)。(第 4 行,文件“代码”)”,我不知道为什么......我对编码很陌生,所以请耐心等待。

function onOpen() {
  var email = Session.getActiveUser().getEmail();
  var sheet = email.slice(0,-11);
  SpreadsheetApp.setActiveSheet(sheet)
}

【问题讨论】:

    标签: javascript google-apps-script google-sheets


    【解决方案1】:

    您收到“找不到方法”错误,因为 setActiveSheet() 方法采用的是 Sheet 类型的参数,而不是字符串。请参阅此处的规范:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#setActiveSheet(Sheet)

    为了从字符串中获取一个Sheet对象,你需要打开父Spreadsheet,然后通过名称获取相应的sheet,然后你可以将它传递给setActiveSheet。

    假设此脚本嵌入在相关电子表格中,如下所示:

    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    SpreadsheetApp.setActiveSheet(spreadsheet.getSheetByName(sheet));
    

    【讨论】:

    • 很高兴听到这个消息,编码愉快!
    • 这样一个答案的救命稻草,让我很头疼。谢谢!
    【解决方案2】:

    这对我很有效。

    function theSecondSheet() {
       var activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
        if(activeSpreadSheet.getSheetByName("Sheet2").activate()){
         SpreadsheetApp.setActiveSheet(activeSpreadSheet.getSheetByName("Sheet2"));
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 2019-10-07
      • 1970-01-01
      • 2021-02-08
      相关资源
      最近更新 更多