Используйте скрипт, чтобы изменить стиль для нескольких слов - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу использовать скрипт для изменения стиля разных слов в моем документе Google. Поскольку многие слова будут иметь одинаковый стиль, я хочу сгруппировать их в массив. Другим словам нужен свой индивидуальный стиль. Я создал некоторый код для этого, но он пока не работает. Появляется следующая ошибка:

TypeError: Не удается найти функцию findText в объекте Description :. (строка 19, файл «Код»)

(эта строка ==> textLocation = words[w].findText(textToHighlight);). Предполагается, что скрипт запустит Сапьер через веб-крючок.

function doGet() {
  var docid = DocumentApp.getActiveDocument().getId();
  var doc  = DocumentApp.openById(docid);
  var words = ['Description:','Who can help you:']
  var textToHighlight = words[w];
  var highlightStyle = {};
  highlightStyle[DocumentApp.Attribute.FOREGROUND_COLOR] = '#000000';
  highlightStyle[DocumentApp.Attribute.FONT_SIZE] = '16';
  highlightStyle[DocumentApp.Attribute.BOLD] = 'true';
  var textToHighlight2 = 'Hello';
  var highlightStyle2 = {};
  highlightStyle2[DocumentApp.Attribute.FOREGROUND_COLOR] = '#FFC000';
  var paras = doc.getParagraphs();
  var textLocation = {};
  var i;
  var w;

  for (w=0; w<words.length; ++w) {
    textLocation = words[w].findText(textToHighlight);
    if (textLocation != null && textLocation.getStartOffset() != -1) {
      textLocation.getElement().setAttributes(textLocation.getStartOffset(),textLocation.getEndOffsetInclusive(), highlightStyle);
  for (i=0; i<paras.length; ++i) {
  textLocation = paras[i].findText(textToHighlight2);
if (textLocation != null && textLocation.getStartOffset() != -1) {
      textLocation.getElement().setAttributes(textLocation.getStartOffset(),t.extLocation.getEndOffsetInclusive(), highlightStyle2);
      }
    }
   }
  }
}

1 Ответ

0 голосов
/ 18 апреля 2019

Ошибка возникает из-за того, что findText не является методом Object String. Может использоваться на теле класса или тексте класса

Ссылки

Относительно Q / A

...