Установить цвет и стиль границы в электронной таблице программно
В Таблице Google на панели инструментов под кнопкой границы также есть кнопка для изменения цвета и изменения стиля рамки.
Как можно получить доступ к скрипту Google Apps?
Функция setBorderColor
которая описана для документов, кажется недоступной для электронных таблиц.
Ответы
Ответ 1
Исходная проблема была исправлена по состоянию на 12 января 2016 года. Диапазон теперь имеет следующие методы:
- setBorder (верхний, левый, нижний, правый, вертикальный, горизонтальные), как и раньше.
- setBorder (верхний, левый, нижний, правый, вертикальный, горизонтальный, цвет, стиль), NEW!
Примеры приведены в документации; здесь, как установить пунктирную красную границу *:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// Sets borders on the top and bottom, but leaves the left and right unchanged
// Also sets the color to "red", and the border to "DASHED".
cell.setBorder(true, null, true, null, false, false, "red", SpreadsheetApp.BorderStyle.DASHED);
* Исправлено, в соответствии с комментарием: документация неверна, она должна быть SpreadsheetApp.BorderStyle.DASHED/DOTTED/SOLID, а не Range. - gotofritz
Ответ 2
В настоящее время свойства setBorder() не позволяют нам предоставлять цвет и стиль. Существует открытый вопрос, вы можете следить здесь.
Ответ 3
Вы можете сделать небольшой трюк. Скопируйте форматирование в цветной пограничной ячейке туда, где хотите.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];
var destination = ss.getSheets()[1];
var blueBorderRange = source.getRange("B2:D4");
// This copies the formatting in B2:D4 in the source sheet to
// D4:F6 in the second sheet
blueBorderRange.copyFormatToRange(destination, 4, 6, 4, 6);