Как получить индекс строки в Google Docs, используя Google App Script - PullRequest
1 голос
/ 22 октября 2019

Я хочу найти строку, а затем заменить ее на изображение в Google Docs. Для этого я хочу получить индекс строки, а затем заменить его на изображение. Но я не могу получить индекс строки до сих пор.

Ниже приведен фрагмент того, что я делаю:

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 каждый раз.

1 Ответ

0 голосов
/ 22 октября 2019

Вот как вы найдете текст в документе и замените его изображением:

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);
    }
  }
}

Надеюсь, это поможет!

...