GASで簡単!Googleドキュメントを結合する方法

Google ドキュメントを手動で結合するのは面倒だな… GASでできる方法はないかな?
猫男
猫男
catman
catman
もちろん、GASでGoogle ドキュメントを結合する方法がある。catmanが教えよう!

GASでGoogle ドキュメントを結合する方法

Google Apps Script(GAS)を使えば、複数のGoogle ドキュメントを一つに結合できる。

GASコードを書いてみよう

以下がGASでGoogle ドキュメントを結合するサンプルコードだ。


function mergeDocuments() {
  const docIds = ['DOC_ID_1', 'DOC_ID_2'];
  const targetDoc = DocumentApp.create('結合されたドキュメント');
  const targetBody = targetDoc.getBody();

  docIds.forEach(id => {
    const doc = DocumentApp.openById(id);
    const body = doc.getBody();

    targetBody.appendParagraph(body.getText());
    targetBody.appendPageBreak();
  });

  // 作成したドキュメントのURLを出力
  const url = targetDoc.getUrl();
  Logger.log(url);
}

DocumentAppクラスは、Google ドキュメントを操作するための機能を提供する。

openById(docId)は指定したドキュメントIDでドキュメントを開き、getBody()でそのドキュメントの内容を取得する。

appendParagraph(text)でテキストを追加し、appendPageBreak()でページブレイク(新しいページにする処理)を追加する。

そして、作成したドキュメントのURLを最後にログで出力するぞ。

実践

よし、実際にやってみよう。

猫1のドキュメントと、

google ドキュメント 結合

猫2のドキュメントのIDを指定。

google ドキュメント 結合

ドキュメントIDは「https://docs.google.com/document/d/」の後の文字列だ

 

実行してみると、ほれ、新しいドキュメントの誕生だ。

タイトルは引数で指定した通りの「結合されたドキュメント」。

1ページ目は猫1、

google ドキュメント 結合

改ページ後の2ページ目に猫2だ。

google ドキュメント 結合

 

スゴイ!GASでこんなに簡単にGoogle ドキュメントを結合できるとは思わなかった!
猫男
猫男
catman
catman
これでドキュメントの結合作業が格段に楽になるさ。GASを使いこなして、効率的に作業を進めていこう!

 

 

練習問題:GASで特定のフォルダ内の全ドキュメントを結合しよう

特定のフォルダ内にあるすべてのGoogle ドキュメントを結合するスクリプトを書いてみてください。

解答・解説


function mergeDocumentsFromFolder(folderId) {
  const folder = DriveApp.getFolderById(folderId);
  const files = folder.getFilesByType(MimeType.GOOGLE_DOCS);
  const targetDoc = DocumentApp.create('フォルダから結合されたドキュメント');
  const targetBody = targetDoc.getBody();

  while (files.hasNext()) {
    const file = files.next();
    const doc = DocumentApp.openById(file.getId());
    const body = doc.getBody();
    targetBody.appendParagraph(body.getText());
    targetBody.appendPageBreak();
  }
}

DriveApp.getFolderById(folderId)で対象のフォルダを取得し、getFilesByType(MimeType.GOOGLE_DOCS)でフォルダ内のドキュメントを取得する。

ファイルがある限りループし、各ドキュメントの内容を取得して結合していく。

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。