使用脚本更改多个单词的样式

时间:2019-04-18 15:04:22

标签: google-apps-script google-docs

我想使用脚本来修改Google文档中不同单词的样式。由于许多单词将具有相同的样式,因此我希望将它们分组到一个数组中。换句话说,需要自己的风格。我为此构建了一些代码,但到目前为止还无法正常工作。出现以下错误:

  

TypeError:在对象描述:中找不到函数findText。 (第19行,文件“代码”)

(此行==> textLocation = words[w].findText(textToHighlight);)。该脚本应该由Zapier通过Webhook触发。

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 :(得分:0)