Замена таблицы, выбранной путем размещения курсора в любой ячейке
Я только что создал двумерный массив для таблицы, которую нужно заменить.
Если вы попытаетесь привести первый элемент к asTable (), вы получите ошибку 'PARAGRAPH не может быть приведен к TABLE.' , тогда, если вы добавите еще один getParent (), выполучить ошибку 'TABLE_CELL не может быть приведен к TABLE.', а затем добавьте еще один getParent (), и вы получите ошибку ' TABLE_ROW не может быть приведен к TABLE. ' и, наконец, добавление еще одного getParent () наконец проходит через перчатку и заменяетстол.Вы можете поместить курсор в любую ячейку таблицы.Это было что-то вроде хака, но, в конце концов, это сработало.Было бы гораздо сложнее понять это, не зная, как использовать ресурсы отладки, которые предоставляет Google.
function replaceTableAtCursor(){
var doc=DocumentApp.getActiveDocument();
var body=doc.getBody();
var el=doc.getCursor().getElement().getParent().getParent().getParent();//element/cell/row/table
var table=el.asTable();
var t=[];//This is the table I used. Any 2D array will work like the ones you can get from getValues() method from spreadsheets.
for(var i=0;i<3;i++){
t[i]=[];
for(var j=0;j<3;j++){
t[i][j]=Utilities.formatString('i:%s,j:%s',i,j);
}
}
var childIndex=body.getChildIndex(el)
table.clear();
body.insertTable(childIndex,t)
}