无法读取 null 的属性“getSheetByName”

Mr *_*ski 2 google-sheets google-apps-script

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

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

soM*_*rio 5

说明/问题:

问题是你有一个独立的脚本,因此它没有绑定到谷歌电子表格,结果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或相反。小心这一点。