Как задать rgb значение ячейки в google таблицах?

Здравствуйте. Я создал 2 листа. В одном листе у меня rgb значение цвета и идентификатор, в другом листе я ввожу идентификатор, и соседняя ячейка закрашивается в определенный цвет.
Я новичок в app script. При выполнении скрипта у меня появляется ошибка:
Exception: The parameters (String) don't match the method signature for SpreadsheetApp.Range.setBackgroundRGB.

Если меняю значение rangeB.setBackgroundRGB на какое-то определённое значение, то он закрашивает все ячейки. Даже если идентификатор не совпадает. Буду очень благодарен если поможете разобраться с кодом.

Мой код:
function SetColor() {
  const rowStart = 2;
  const colStart = 1;

  const rowsCount = 5;
  const colsCount = 2;
  
  // Получение объекта страницы
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[1];

  // Извлечение данных из таблицы
  var range = sheet.getRange (rowStart, colStart, rowsCount, colsCount);
  var data = range.getDisplayValues();

  // Константы-имена для индексов столбцов
  const dmcCol = 0;
  const colorCol = 1;

  // sheet 0
  var sss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetO = sss.getSheets()[0];

  var rangeO = sheetO.getRange ("B3:B");
  var rangeB = sheetO.getRange ("A3:A");

  var dataO = rangeO.getDisplayValues();
  // var dataB = rangeB.getDisplayValues();



  for (var i in data)
    {
      let row = data[i];
      let classDmc = row[dmcCol];
      let classColor = row[colorCol];

      for (var o in dataO)
      {
        if (dataO[o] == classDmc) 
        {}
        rangeB.setBackgroundRGB(classColor);
      }
    }
}
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
Может в этом ошибка? Есть проверка, но нет действия, 3я строка выполняется в любом случае.
if (dataO[o] == classDmc) 
        {}
        rangeB.setBackgroundRGB(classColor);

замените на
if (dataO[o] == classDmc){
        rangeB.setBackgroundRGB(classColor);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы