Скрипт перевода условного форматирования в обычный формат

Сидел долго ломал голову как записать макрос на перевод всего листа в значение, а после оставление от условного форматирования лишь заливку. Это надо для скачивания файла в excel, с гугла условное форматирование там слетает. Помогите написать скрипт, пожалуйста. Этапы:

  1. Выделяется весь лист и вставляется как значение (для удаления формул)
  2. Выделяется весь лист, удаляется условное форматирование и вставляется обычной заливкой (вставка формата)

Ответы (1 шт):

Автор решения: contributorpw

Необходимо передать в эту функцию тот лист, который нужно сбросить

function freezeFormat_(sheet) {
  const range = sheet.getDataRange()
  const backgrounds = range.getBackgrounds();
  const colors = range.getFontColors();
  range.setBackgrounds(backgrounds).setFontColors(colors);
}

Чтобы исключить ошибку, можно сначала делать копию листа. В данном случае Sheet3

function run() {
  const sheet = SpreadsheetApp.getActive()
    .getSheetByName('Sheet3')
    .copyTo(SpreadsheetApp.getActive());
  freezeFormat_(sheet);
}
→ Ссылка