首页 > 解决方案 > 如何使用谷歌应用脚​​本在谷歌文档中获取字符串的索引

问题描述

我想搜索一个字符串,然后用谷歌文档上的图像替换它。为此,我想获取字符串的索引,然后用图像替换它。但到目前为止我无法获得字符串的索引。

下面是我正在做的一个片段:

var element = '<<19>>';
options = {muteHttpExceptions: true};
var resp = UrlFetchApp.fetch(mylist[x-1], options);
var image = resp.getBlob();        
//getting the index of element and then replacing it with image
var rangeElement = body.findText(element);
var foundElement = rangeElement.getStartOffset();
body.replaceText(element, body.insertImage(foundElement, image));

我试过使用findText(searchPattern),但它没有工作,因为它返回一个范围元素,我0每次都得到输出。

标签: javascriptgoogle-apps-scriptgoogle-docs

解决方案


这是您在文档中查找文本并将其替换为图像的方式:

function findAndReplaceWithImage() {
  var element = "<<19>>";

  var doc = DocumentApp.getActiveDocument().getBody();

  var image = "your image url";
  var blob = UrlFetchApp.fetch(image).getBlob();

  var paragraphs = doc.getParagraphs();
  for (var i = 0; i < paragraphs.length; i++) {
    var text = paragraphs[i].getText();

    if (text === element) {
      //Found your match
      doc.removeChild(paragraphs[i]);
      doc.insertImage(i, blob);
    }
  }
}

希望这可以帮助!


推荐阅读