#google-apps-script #google-sheets
Вопрос:
Я стараюсь быть избирательным в применении условного форматирования к таблицам Google. Например, если бы я хотел применить его ко всем листам, я бы сделал что-то вроде этого
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:B3");
var rule = SpreadsheetApp.newConditionalFormatRule()
.whenNumberBetween(1, 10)
.setBackground("#FF0000")
.setRanges([range])
.build();
var rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);
Я хочу применить указанные правила ТОЛЬКО к листам, которые « Type: ABC
» расположены в ячейке « A1
»
Как это можно сделать, пожалуйста?
Ответ №1:
Возможно, что-то вроде этого:
function myfunction() {
var ss = SpreadsheetApp.getActive();
var shts = ss.getSheets().filter(s => sh.getRange('A1').getValue() == "Type: ABC");
shts.forEach(sheet => {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:B3");
var rule = SpreadsheetApp.newConditionalFormatRule()
.whenNumberBetween(1, 10)
.setBackground("#FF0000")
.setRanges([range])
.build();
var rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);
});