Способ изменить цвет выделения при вызове 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);
}

Смотрите результат ниже:

Другие вопросы по тегам