Google Apps скрипт для условного форматирования ячеек таблицы в Google Doc - PullRequest
0 голосов
/ 17 мая 2018

Я связался с @mhawksey через Twitter, и он дал мне это ... Удалить строку таблицы в документе Google с помощью скрипта Google Apps

Что дает мне возможность взглянуть на сценариидля DOC, а не для SHEET (я только когда-либо писал сценарии для SHEETS), однако это не дает мне того, к чему я стремлюсь.

Я хотел бы иметь возможность условно форматировать ячейки таблицы на основе значенийвступил через слияние почты.Я уверен, что будет простой сценарий, который справится с этим. Если кто-то может начать меня с того, какие значения мне нужно прочитать, и с первым утверждением «если», которое я смогу выполнить.

Спасибо!

1 Ответ

0 голосов
/ 17 мая 2018

Если у вас есть документ (DocumentApp.openById или DocumentApp.create или DocumentApp.openByUrl), вам нужно получить тело, выполнить поиск таблиц, а затем обработать их TableCells.

Somethingкак:

var doc = DocumentApp.openByUrl([URL]);  
var body = doc.getBody();  
var tables = body.getTables();

for each (var table in tables) {
    var i;
    for (i = 0; i < table.getNumRows(); i++) {
        var row = table.getRow(i);

        var j;
        for (j = 0; j < row.getNumCells(); j++) {
            var cell = row.getCell(j);

            // formatting goes here
            // example based on a numeric cell and a threshold of 50
            if (cell.getValue() > 50) {
                cell.setBackgroundColor("#ff0000");
            } else {
                cell.setBackgroundColor("#00ff00");
            }

            // Define a custom paragraph style.
            // can be used for more complicated formatting
            var style = {};
            style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =
                 DocumentApp.HorizontalAlignment.RIGHT;
            style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';
            style[DocumentApp.Attribute.FONT_SIZE] = 18;
            style[DocumentApp.Attribute.BOLD] = true;
            cell.setAttributes(style);
        }    
    }             
}
...