Способ изменить цвет выделения при вызове TextRange.select()
Я создаю новое дополнение для Google-слайдов, мне нужно выделить текст. Я использую метод выбора в TextRange API. Цвет выделения по умолчанию - серый. В случае, если слайд имеет темный фон, подсветка не видна
const textRange as GoogleAppsScript.Slides.TextRange;
textRange.getRange(start, end).select();
Этот выбор всегда подсвечивается серым цветом. Это невидимо, если фон черный или любой темный цвет.
Можно ли динамически менять цвет выделения? Так что это всегда в отличие от фона.
1 ответ
У TextRange есть более интересный способ выделения: TextStyle. Если ваш код дополнения может быть преобразован в стиль вместо выбора, тогда это решение для вас.
В частности, эта небольшая функция очищает предыдущий выделенный текст и создает новый:
function highLight() {
var textRange = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0].getText();
textRange.getTextStyle().setBackgroundColorTransparent();
textRange.getRange(131, 146).getTextStyle().setBackgroundColor(255, 255, 150);
}
Смотрите результат ниже: