首页 > 解决方案 > 无法读取 null 的属性“getSheetByName”

问题描述

function sortResponses() {
  var Sheets = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Fall 01")
  sheet.sort(3, false);
}

我在我的谷歌表格中有一个Fall 01表格,我明确地必须授予脚本访问权限,但它不会打开,我错过了什么?

标签: google-apps-scriptgoogle-sheets

解决方案


说明/问题:

问题是你有一个独立的脚本,因此它没有绑定到谷歌电子表格,因此SpreadsheetApp.getActiveSpreadsheet()返回null

解决方案:

您可以遵循以下两种方法:

解决方案1:

使用SpreadsheetApp.openById(id)SpreadsheetApp.openByUrl(url)

var Sheets = SpreadsheetApp.openById("Put your Spreadsheet ID").getSheetByName("Fall 01");

或者

var Sheets = SpreadsheetApp.openByUrl("Put your Spreadsheet URL").getSheetByName("Fall 01");

解决方案2:

转到您要使用的电子表格文件,然后单击Tools => Script editor电子表格文件的顶部菜单并将当前代码放在那里。

请注意

如果这是您唯一的代码,sheet则未定义,因此您将在路上遇到另一个错误。您很可能想要替换sheetSheets或相反。小心这个。


推荐阅读