【发布时间】:2023-02-02 23:24:41
【问题描述】:
我想创建一个功能,将所有内容从一个 Google 文档复制到另一个 Google 文档。模板有表格、图片、文字和图纸 文字和表格复制过来就好了,就是图纸和图片好像不行。我尝试过不同的东西,但总是出错。
这就是我所拥有的(我也是从 stackoverflow 得到的):
function copyTemplate() {
var thisDoc = DocumentApp.getActiveDocument();
var thisBody = thisDoc.getBody();
var templateDoc = DocumentApp.openById('LMwo6kT1_XDCh-8HkwTNN890W3_MeL6AJKU');
var templateBody = templateDoc.getBody();
for(var i=0; i<templateBody.getNumChildren();i++){
switch (templateBody.getChild(i).getType()) {
case DocumentApp.ElementType.PARAGRAPH:
thisBody.appendParagraph(templateBody.getChild(i).copy());
break;
case DocumentApp.ElementType.LIST_ITEM:
thisBody.appendListItem(templateBody.getChild(i).copy());
break;
case DocumentApp.ElementType.TABLE:
thisBody.appendTable(templateBody.getChild(i).copy());
break;
case DocumentApp.ElementType.INLINE_DRAWING:
var drawing = element.asParagraph();
thisBody.appendParagraph(templateBody.getChild(i).copy());
break;
case DocumentApp.ElementType.INLINE_IMAGE:
thisBody.appendImage(templateBody.getChild(i).copy());
break;
}
}
我是新手,所以也许答案非常简单,但我似乎找不到。非常感谢!
【问题讨论】:
-
为什么不简单地复制文件?
-
因为它不是我拥有的唯一模板。至少有 5 个。因此,完整代码将重复这 5 次,每次都是从不同文档中复制的不同函数。然后我会在工具栏上添加一个菜单,这样我就可以选择何时从文档中复制过来,如果需要的话甚至可以选择多次。那有意义吗?
标签: google-apps-script google-docs