2016-12-17 7 views
1

следующий сценарий должен изменить выравнивание строк в листе Google на «правый», если значение столбца E в строке равно «Опубликовать». Когда я запускаю скрипт, он не вызывает никаких ошибок, однако он ничего не делает.Изменение выравнивания строк на основе значения ячейки - Скрипты Google

Может ли кто-нибудь взглянуть на нижеследующее и дать некоторые рекомендации?

Спасибо!

function rowLoop() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("KOD Tests"); 
    var endRow = ss.getLastRow(); 

    for (var r = 1; r < endRow; r++) { 
    rowAlignment(r); 
    } 
} 

function rowAlignment(r) { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var c = sheet.getLastColumn(); 
    var dataRange = sheet.getRange(r, 1, 1, c); 

    var data = dataRange.getValue(); 
    var row = data[4]; 

    if(row === 'Post') { 
    data.setHorizontalAlignment('right'); 
    } 
    SpreadsheetApp.flush(); 
} 

ответ

0

Здесь с несколькими вещами фиксированной (см комментарии)

function rowLoop() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); 
    var endRow = ss.getLastRow(); 
    // <= to repeat for all rows 
    for (var r = 1; r <= endRow; r++) { 
    rowAlignment(r); 
    } 
} 

function rowAlignment(r) { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var c = sheet.getLastColumn(); 
    var row = sheet.getRange(r, 1, 1, c); 
    // Get cell in column E of row 
    var cell=row.getCell(1,5); 
    // Get its value 
    var data = cell.getValue(); 
    // Test equal to 'Post' with == 
    if(data == 'Post') { 
    row.setHorizontalAlignment('right'); 
    } 
    SpreadsheetApp.flush(); 
} 
Смежные вопросы