2014-10-02 29 views
0

我在舊版Google電子表格上有一個工作腳本,它不再工作。 這是一個排序腳本,它在每次修改一列或多列時對行進行排序。Autosort無法正常工作: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

我認爲這是不幸的是由於issue in new spreadsheets ...

詳見here並明星(希望)得到谷歌更多的關注。

由於editedCell.getColumn()永遠是1,您的病情永遠不會是真的。