合并 Google Docs 文档

Igo*_*gor 5 merge google-docs google-apps-script google-drive-api

是否可以将 100 个 Google Docs 文档合并为一个?我试过复制粘贴,但似乎太长了,无法复制评论。

小智 5

这可以通过 Google Apps 脚本来完成。请参阅此示例。最相关的部分(示例假设文件夹中只有 Google Docs):

function combine() {
  var folder = DriveApp.getRootFolder();
  if (folder == null) { Logger.log("Failed to get root folder"); return; }
  var combinedTitle = "Combined Document Example";
  var combo = DocumentApp.create(combinedTitle);
  var comboBody = combo.getBody();
  var hdr = combo.addHeader();
  hdr.setText(combinedTitle)

  var list = folder.getFiles();
  while (list.hasNext()) {
    var doc = list.next();
    var src = DocumentApp.openById(doc.getId());
    var srcBody = src.getBody();
    var elems = srcBody.getNumChildren();
    for (var i = 0; i < elems; i++ ) {
      elem = srcBody.getChild(i).copy();
      // fire the right method based on elem's type
      switch (elem.getType()) {
        case DocumentApp.ElementType.PARAGRAPH:
          comboBody.appendParagraph(elem);
          break;
        case // something
      }
    }
  }
} 
Run Code Online (Sandbox Code Playgroud)

请注意,您不要将源文档的内容一次性复制;您必须将它们作为单独的元素进行循环,并触发正确的append*方法将它们添加到合并/目标文件中。


小智 -2

将所有文件下载为 Docx,然后使用 Microsoft Word 或 Open Office 使用“主文档”功能合并文档。(Word 也将其称为“大纲”。)