我在旧版Google电子表格上有一个工作脚本,不再有效。 这是一个排序脚本,每次修改一列或多列时都会对行进行排序。
在新的电子表格中不再有效。我试图找出原因,但我无法捕捉错误的位置。
有人可以帮忙吗?
function onEdit(e) {
Logger.clear()
Logger.log('Script Start')
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log('ss=%s', ss)
var sheet = ss.getSheets()[0];
Logger.log('sheet=%s',sheet)
Logger.log('SheetName=%s',sheet.getName())
if(sheet.getName()=='MembriForum'){
var editedCell = sheet.getActiveCell();
Logger.log('editedCell=%s', editedCell)
}
var columnToSortBy_1 = 4;
var columnToSortBy_2 = 6;
var range = sheet.getDataRange();
Logger.log('range=%s', range)
if(editedCell.getColumn() == columnToSortBy_1 || editedCell.getColumn() == columnToSortBy_2){
var range = sheet.getRange(range.getRow()+1, range.getColumn(),range.getNumRows()-1,range.getNumColumns() );
Logger.log('range=%s', range)
range.sort([{ column: columnToSortBy_1, ascending: true }, { column: columnToSortBy_2, ascending: true}]);
}
}
答案 0 :(得分:0)
我认为这很遗憾是由于issue in new spreadsheets ...
有关详细信息,请参阅here,并明确(希望)获得Google的更多关注。
您的情况永远不会成立,因为editedCell.getColumn()
始终为1
。