Проблема с условным форматированием скрипта приложения Google

#google-apps-script

#google-apps-script

Вопрос:

Я использовал приведенный ниже код и пытался изменить его цвет на этот код, который является # 1b2020 и хочет выделить полную строку, в которой содержится слово «Травма» в строке «F».

Но он просто выделяет ячейку из столбца «A» вместо выделения полной строки до «A1: L».

И, пожалуйста, также поделитесь тем, как изменить цвет шрифта при применении условного форматирования.

Ваша помощь будет оценена по достоинству.

    function Formatting() {
        var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');

  var LRows = sheet.getLastRow();
  var rangeToHighlight = sheet.getRange("A1:L"   LRows);
  var rule = SpreadsheetApp.newConditionalFormatRule()
      .whenFormulaSatisfied('=INDIRECT("R[0]C[5]", FALSE)="Trauma"')
      .setBackground("#1b1919")
      .setFontColor("white") // or use hex equivalent #ffffff
      .setRanges([rangeToHighlight])
      .build();

  var rules = sheet.getConditionalFormatRules();
  rules.push(rule);
  sheet.setConditionalFormatRules(rules);
}
 

Ответ №1:

 function Formatting() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getSheetByName('Sheet1');
  const rg=sh.getRange(1,6,sh.getLastRow());//getting columnF only
  const vA=rg.getValues();
  const lc=sh.getLastColumn();
  vA.forEach(function(r,i){
    if(r[0]=='Trauma') {
      sh.getRange(i 1,1,1,lc).setBackground('#1b2020').setFontColor('#ffffff');//they both return a range so chaining is available
    }
  });
}
 

Комментарии:

1. Я не знал, что цепочка возможна. 1 за эту новую информацию

Ответ №2:

Мы можем использовать setBackground и setFontColor вместо использования условного форматирования.

 function Formatting() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  var data = sheet.getDataRange().getValues();

  data.forEach(function (row, i){
    if(row[5] == "Trauma") {
      // L = 12th column
      sheet.getRange(i   1, 1, 1, 12).setBackground("#1b1919");
      sheet.getRange(i   1, 1, 1, 12).setFontColor("#ffffff");
    }
  });
}
 

Комментарии:

1. Я не понимал, что цвет шрифта должен быть белым, пока не прочитал ваш ответ. 1 за это