我有一个google工作表,我需要根据第9列然后第3列对行进行排序,我已经在具有类似参数的其他工作表上运行了此脚本,并且该脚本已经起作用(都与onEdit和onOpen一起使用)。我不断收到此错误 键入错误:取消读取属性'getSheetByName'为null(第13行,文件“代码”)
这是脚本:
SHEET_NAME = "Railcars Archive";
SORT_DATA_RANGE = "A2:M"; // I have tried M with and without defined rows
SORT_ORDER = [
{column: 9, ascending: true},
{column: 3, ascending: true}
];
function onOpen(e){
multiSortColumns();
}
function multiSortColumns(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(SHEET_NAME);
var range = sheet.getRange(SORT_DATA_RANGE);
range.sort(SORT_ORDER);
}
我不能授予编辑权限,所有者不会授予编辑权限,而是一个相当简单的表单。我不明白为什么它不能在此特定工作表上运行,因为我已经在其他几个脚本上运行了该脚本而没有任何问题。我还要补充一点,我没有IT /编码背景。只是自学成才,以帮助我的公司使时间表等自动化。
答案 0 :(得分:0)
尝试:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Railcars Archive");
var range = sheet.getRange("A2:M");
function onOpen(e) {
range.sort([{column: 9, ascending: true},
{column: 3, ascending: true}]);
}