- Вы хотите скопировать объекты (абзацы, таблицы и списки) из документа
1MFG06knf__tcwHWdybaBk124Ia_Mb0gBE0Gk8e0URAM
в активный документ. - Вы хотите скопировать объекты в положение курсора на активном документе. Документ.
- Вы хотите добиться этого с помощью Google Apps Script.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Точки модификации:
- В вашем сценарии
appendParagraph
, appendTable
и appendListItem
используются на 1-м для л oop. Я думаю, что причина, по которой скопированные объекты помещаются в последний документ, заключается именно в этом. var body = docCopy.getBody();
можно поместить в out для for l oop. - В вашем случае, я думаю, что при изменении 1-го для l oop, 2-го для l oop не требуется.
Когда вышеуказанные точки отражаются в вашем сценарии, он становится
Модифицированный скрипт:
function AddTable() {
var FileTemplateFileId = "1MFG06knf__tcwHWdybaBk124Ia_Mb0gBE0Gk8e0URAM";
var doc = DocumentApp.openById(FileTemplateFileId);
var docCopy = DocumentApp.getActiveDocument();
var body = docCopy.getBody();
var cursor = docCopy.getCursor();
var cursorPos = docCopy.getBody().getChildIndex(cursor.getElement());
var totalElements = doc.getNumChildren();
for (var j = 0; j < totalElements; ++j) {
var element = doc.getChild(j).copy();
var type = element.getType();
if (type == DocumentApp.ElementType.PARAGRAPH) {
body.insertParagraph(cursorPos + j, element);
} else if (type == DocumentApp.ElementType.TABLE) {
body.insertTable(cursorPos + j, element);
} else if (type == DocumentApp.ElementType.LIST_ITEM) {
body.insertListItem(cursorPos + j, element);
}
}
}
- Кажется, что
DocName
не используется в вашем скрипте.
Ссылки:
Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, я прошу прощения. В то время, можете ли вы предоставить образец исходного документа? Этим я хотел бы подтвердить это.