Условное правило формата, ссылающееся на другой Лист, при копировании поверх существующих наборов правил условного формата - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть существующие правила условного формата в первом созданном мною листе, который уже используется.Однако я хочу, чтобы при создании нового листа эти правила копировались и на новый лист.

До сих пор я сделал следующее:

Код

/**
 *  Automatically applies conditional formatting to all the Sheets, based on that of the first one
 **/
function autoConditionalFormat() {
  // get all the sheets
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(),
      sheets = spreadsheet.getSheets();


  // get the first spreadsheet
  const firstSheet = sheets[0],
      conditionalFormatRules = firstSheet.getConditionalFormatRules();

  sheets.forEach(function(sheet, idx) { 
                 if (idx) { 
                   // for some reason, this is throwing an Error: Conditional format rule cannot reference a different sheet. at [unknown function](Code:16) at autoConditionalFormat(Code:14)
                   sheet.setConditionalFormatRules(conditionalFormatRules);
                 }
  })

}

Результат

Когда я создаю триггер для запуска этого кода при изменении, возникает следующая ошибка:

Conditional format rule cannot reference a different sheet. (line 17, file "Code")

Есть ли способ сделать это без жесткого кодирования правил условного формата или создания полного шаблона листа вручнуючто функция слушателя просто вставляется в новый лист?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...