【完全版】GASでドキュメント自動生成ツールを作る方法|テンプレート管理と作業効率が劇的向上!

はじめに

「見積書や契約書、毎回手入力するのが面倒!」
「テンプレートに沿ったドキュメントを自動で作りたい!」

そんなあなたにピッタリなのが、
Google Apps Script(GAS)を使ったドキュメント自動生成ツールです!

この記事では、初心者でも今日から使えるように、
GASでGoogleドキュメントを自動生成する具体的な方法を、超わかりやすく解説します。

これを読めば、
手作業でコピペしていた時間をまるごと短縮できる世界に突入できます!


GASでドキュメント自動生成をするメリット

まず、なぜGASでドキュメント生成を自動化するべきか?

  • 契約書、見積書、報告書など、定型文書を一瞬で作れる

  • スプレッドシートのデータからドキュメントを量産できる

  • テンプレート修正も簡単に反映できる

  • ファイル名やフォルダ整理も自動管理できる

  • トリガー設定で完全自動運用も可能

つまり、
「手作業で文書を作る時代」から卒業できるのです!


GASでドキュメント自動生成ツールを作る流れ

全体のステップはこの通りです。

  1. テンプレートドキュメントを用意

  2. 変数(置換タグ)を設定

  3. スプレッドシートに差し込むデータを用意

  4. GASでテンプレート複製&置換処理を書く

  5. 保存場所やファイル名も自動設定する

順番に進めれば、初心者でも問題なし!


【実践編】GASでドキュメント自動生成ツールを作ろう!

ここからは、実際に手を動かしながら進めます!


ステップ1:テンプレートドキュメントを用意

Googleドキュメントでテンプレートを作成します。

内容例:


契約書

契約者名:{{契約者名}}
契約開始日:{{契約開始日}}
契約内容:{{契約内容}}


ポイントは、
置き換えたい箇所を「{{タグ名}}」で記載しておくことです!


ステップ2:スプレッドシートに差し込みデータを用意

Googleスプレッドシートに以下のような形式でデータを入力します。

  • A列:契約者名

  • B列:契約開始日

  • C列:契約内容

これがドキュメントに挿入されるデータ元になります!


ステップ3:Apps Scriptでドキュメント自動生成スクリプトを書く

いよいよGASコードを書いていきましょう!

function generateDocuments() {
  const templateId = 'テンプレートドキュメントのID'; // ドキュメントIDをここに
  const folderId = '保存先フォルダのID'; // 保存先フォルダIDをここに
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('データ');
  const data = sheet.getDataRange().getValues();

  for (let i = 1; i < data.length; i++) {
    const [name, startDate, content] = data[i];
    
    const copy = DriveApp.getFileById(templateId).makeCopy(name + '_契約書', DriveApp.getFolderById(folderId));
    const doc = DocumentApp.openById(copy.getId());
    const body = doc.getBody();

    body.replaceText('{{契約者名}}', name);
    body.replaceText('{{契約開始日}}', startDate);
    body.replaceText('{{契約内容}}', content);

    doc.saveAndClose();
  }
}

これを実行すれば、

  • スプレッドシート1行ごとに

  • テンプレートドキュメントを複製して

  • 各データを差し込んで

  • 指定フォルダに保存

という自動化が一瞬で完了します!


ステップ4:ファイル名やフォルダを動的に設定する

さらに応用で、ファイル名や保存先フォルダを動的に変えることも可能です!

例:契約開始月ごとにフォルダ振り分け

const folderName = startDate.substring(0,7); // 例: '2025/06'
let monthFolder;
const folders = DriveApp.getFoldersByName(folderName);

if (folders.hasNext()) {
  monthFolder = folders.next();
} else {
  monthFolder = DriveApp.createFolder(folderName);
}

const copy = DriveApp.getFileById(templateId).makeCopy(name + '_契約書', monthFolder);

これで、
月ごとにフォルダを自動作成・整理できます!


トリガー設定で完全自動運用も可能!

例えば、

  • 新しいデータがスプレッドシートに追加されたら自動生成

  • 毎日決まった時間にまとめて生成

など、トリガー設定をすれば、
完全自動のドキュメント作成システムが作れます!

設定方法:

  • スクリプトエディタで「トリガー」→「新しいトリガーを追加」

  • 関数をgenerateDocuments

  • イベントを「時間主導型」または「編集時」に設定


さらにできる応用アイデア

ドキュメント自動生成は、さらに拡張可能です!

  • 作成後にPDF変換してメール送信

  • 契約期限が近いドキュメントをリマインド通知

  • 進捗一覧をスプレッドシートにまとめて管理

  • テンプレートを複数種類切り替えて使い分け

あなたの業務フローに合わせて、自在にカスタマイズできます!


よくあるエラーとその対処法

初心者がハマりやすいポイントも押さえておきます!

■ ドキュメントID・フォルダIDのミス

  • GoogleドキュメントやフォルダのURLからIDだけを正確に抜き出しましょう!

■ タグ名のズレ

  • テンプレートの{{契約者名}}と、スクリプト内の置換文字列が完全一致しているか必ずチェック!

■ 権限エラー

  • スクリプト実行時にドライブ・ドキュメントへのアクセス許可を求められたら、必ず「許可」してください!


まとめ|GASでドキュメント自動生成ツールを作れば、作業効率は激変する!

この記事では、
GASでドキュメント自動生成ツールを作成する方法を初心者向けに完全解説しました!

✅ テンプレート作成とタグ設定
✅ スプレッドシート連携でデータ差し込み
✅ 自動ファイル保存・整理
✅ トリガーで完全自動化運用

これができれば、
もう手作業で文書を作る時代とはサヨナラ!

今日からあなたも、
**「ドキュメント生成のプロフェッショナル」**に進化しましょう!

Shop now