@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);


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

Как это исправить?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 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);
}


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

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

Войти через центр авторизации
Похожие вопросы