Заменить текст поиска на таблицу - PullRequest
0 голосов
/ 03 февраля 2019

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

Например, я бы поискал TABLE1HERE в документе и заменил его таблицей.определяется [[Heading,Data],[Heading2,MoreData]].Я попробовал приведенный ниже код и несколько вариантов без удачи.Любые указатели были бы фантастическими.

function updateTablesTEST(searchText,replacementTable){

  var document = DocumentApp.getActiveDocument();
  var documentBody = document.getBody();
  var textLocation;
  var newPosition;
  var textChild;

  textLocation = documentBody.findText(searchText).getElement();
  textChild = textLocation.getParent().getChildIndex(textLocation);
  documentBody.insertTable(textChild+1, replacementTable);

}

1 Ответ

0 голосов
/ 03 февраля 2019

Заменить текст таблицей

Находит childIndex контейнера, в котором содержится требуемый текст.Он удаляет текст и вставляет таблицу в тот же дочерний элемент.

function searchTextReplTable(texttofind){
  var doc=DocumentApp.getActiveDocument();
  var body=doc.getBody();
  var rgel=body.findText(texttofind);
  var element=rgel.getElement();
  var childIndex=body.getChildIndex(element.getParent());
  var t=[];//This is the table I used
  for(var i=0;i<5;i++){//just created a 5,5 table with row, col indices
    t[i]=[];
    for(var j=0;j<5;j++){
      t[i][j]=Utilities.formatString('%s,%s',i,j);
    }
  }
  body.getChild(childIndex).asText().setText('');
  body.insertTable(childIndex,t)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...