@Mistev

Как закрасить границу объединённой ячейки программно?

В столбце "A" перечислены запчасти авто, многие из строк объединены между собой (только в столбе "A"). После каждой запчасти идёт граница во всю строку. Раньше делал их в ручную, сегодня решил исправить это с помощью скрипта.

Расскажу о скрипте, как работает: Поскольку я заранее не могу знать о всех дополнительных свойствах запчастей, я сначала через цикл удаляю все нижние границы, после использую данный цикл:
var ranges = [];

  for(var i = 1; i < firstColumn.length; i++)
  {
    if(firstColumn[i][0])
    {
      ranges.push("A" + i + ":" + i);
    }
  }

Он определяет, где заканчивается объединённая ячейка и после я закрашиваю границу:
return sheet.getRangeList(ranges).setBorder(null, null, true, null, null, null);


Всё работает, как надо, но везде, где есть объединённые ячейки граница не прорисовывается.

Как это исправить?
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Пример https://docs.google.com/spreadsheets/d/1xa_zzf6P1n...

62282dc7c20f7732836185.png

function myFunction() {
  const book = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = book.getSheetByName('Sheet1');
  const ranges = ['B1', 'B4', 'B6', 'B9'];
  sheet.getRangeList(ranges).setBorder(null, null, true, null, null, null);
}


Все работает как надо.
Вы не привели нормальный пример, и в этом ваша основная ошибка. Скорее всего вы смотрите не на ту часть кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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