Tel: 090-3718-2803

営業時間:10:00~23:00
(年中無休)

メニュー

GAS×Docs:契約・申請テンプレを自動生成|行政書士事務所HANAWAくんと学ぶAI活用実践ラボ第6回

HANAWA行政書士事務所では、日々の契約書や申請書の作成業務を効率化するために、Google Apps Script(GAS)を用いたDocs自動化の仕組みを導入し始めていた。

サトウ所長:「前回はスプレッドシートの内容をSlackへ自動通知する仕組みを構築したね。今回は、そのデータをもとにGoogle Docs※を自動生成してみよう。」

HANAWAくん:「契約書や申請書のテンプレートを自動で作成できたら、入力の二重作業を減らせますね!」

サトウ所長:「その通り。定型文やひな形管理を進めると、事務の精度とスピードの両立ができる。今日はそれを体験してみよう。」

(Docsテンプレートを自動生成してPDFまで出力できたら、事務作業の時間が大きく短縮できそうだ)


目次

  1. Docs自動化の概要と導入準備

  2. テンプレ置換で契約・申請文書を生成する

  3. 目次・スタイル設定で整った書式に仕上げる

  4. PDF出力と成果物の確認

  5. 定型文とひな形管理による応用展開


Docs自動化とは、Google Apps Script(GAS)を利用してGoogle Docs※をテンプレートから自動生成し、差し込みデータを反映した文書を出力する仕組みを指します。本稿では「契約・申請テンプレートを自動生成し、PDF出力まで自動化する」ことを焦点とします。一次情報(Google公式ドキュメントおよびApps Scriptサンプルコード)に基づき、HANAWA行政書士事務所の事例形式で、読者が実際にDocsテンプレートを操作・出力できる状態を目指します。


Docs自動化の概要と導入準備
学習目標:GASとDocsの連携方法を理解し、自動生成に必要な準備を整える。

Google公式ドキュメント「Extending Google Docs | Apps Script」では、Apps Scriptを用いてDocsファイルを生成・編集・出力する手法が解説されています。GASを利用することで、Google Docsをテンプレートとして複製し、Spreadsheetデータを差し込み、Drive上でPDF化するまでの一連の流れを自動化できます。

この仕組みは「Generate & send PDFs from Google Sheets | Apps Script」にも紹介されており、DocsのmakeCopy()、replaceText()、getAs('application/pdf')といったメソッドを組み合わせることが推奨されています。

導入準備の手順

1.Google Docsで契約書テンプレートを作成し、{{name}}や{{date}}などのプレースホルダーを配置します。
2.テンプレートをGoogle Driveに保存し、そのファイルIDを控えます。
3.Google Apps Scriptエディタを開き、新規スクリプトを作成します。
4.サービス欄でDocs APIおよびDrive APIを有効化します。
5.スプレッドシート上に契約者名・日付・住所などのデータを用意します。

これで自動生成の準備が完了します。


テンプレ置換で契約・申請文書を生成する
学習目標:テンプレートに差し込みデータを自動反映し、契約・申請書を生成する手順を理解する。

Apps Scriptを使うと、Google Docsのテキスト置換機能を自動で操作できます。プレースホルダー({{name}}など)を使うことで、Spreadsheetの内容をそのまま差し込むことが可能です。

手順概要

契約書テンプレート内のプレースホルダーをSpreadsheetデータに基づいて自動置換し、新しい契約書Docsを生成します。

操作ステップ

1.Spreadsheetから入力データ(氏名・日付など)を取得します。
2.テンプレートDocsをDriveAppでコピーします。
3.コピーしたDocsを開き、replaceText()で値を置換します。
4.保存してDrive上に自動出力します。

コード例

function createContract() {
  const templateId = 'テンプレートのID'; // DocsテンプレートID
  const sheet = SpreadsheetApp.getActiveSheet();
  const row = sheet.getActiveRange().getRow();
  const data = sheet.getRange(row, 1, 1, 3).getValues()[0]; // 1行目の3項目取得
  const copy = DriveApp.getFileById(templateId).makeCopy('契約書_' + data[0]);
  const doc = DocumentApp.openById(copy.getId());
  const body = doc.getBody();
  body.replaceText('{{name}}', data[0]);
  body.replaceText('{{date}}', data[1]);
  body.replaceText('{{address}}', data[2]);
  doc.saveAndClose();
}

動作確認ポイント

実行後、Driveに「契約書_○○」というDocsファイルが作成され、{{name}}などが正しい値に置き換わっていれば成功です。

応用ヒント

複数の顧客データ行をループ処理することで、複数契約書を一括生成できます。


目次・スタイル設定で整った書式に仕上げる
学習目標:自動生成したDocsのスタイルや目次を整え、業務文書としての体裁を整備する。

Docsでは、段落にスタイル(見出しレベル)を設定することで目次を自動生成できます。Apps ScriptのParagraphHeadingプロパティを用いることで、特定の段落に見出し1〜3を自動指定できます。

コード例

function formatDocument(docId) {
  const doc = DocumentApp.openById(docId);
  const body = doc.getBody();
  const paragraphs = body.getParagraphs();
  // 1段落目を見出し1に設定
  paragraphs[0].setHeading(DocumentApp.ParagraphHeading.HEADING1);
  // 目次挿入
  body.insertTableOfContents(DocumentApp.TableOfContentsType.PAGE);
  doc.saveAndClose();
}

動作確認ポイント

生成されたDocsに目次が追加され、1行目が太字・大サイズで「見出し1」に設定されていれば成功です。

応用ヒント

見出しスタイルを事前にテンプレートへ組み込むと、自動整形後の仕上がりをさらに統一できます。


PDF出力と成果物の確認
学習目標:生成したDocsをPDFに変換し、Driveへ保存する自動出力を理解する。

Apps ScriptのgetAs()メソッドを使用すると、DocsファイルをPDF形式のBlobに変換できます。そのままDriveAppで新規ファイルとして保存することで、書類のPDF化を自動完了できます。

操作ステップ

1.生成済みDocsのファイルIDを取得します。
2.getAs('application/pdf')でBlobを取得します。
3.指定フォルダへPDFとして保存します。

コード例

function exportPDF(docId) {
  const doc = DriveApp.getFileById(docId);
  const blob = doc.getAs('application/pdf');
  const folder = DriveApp.getFolderById('保存先フォルダID');
  folder.createFile(blob).setName(doc.getName() + '_出力.pdf');
}

動作確認ポイント

指定フォルダに「契約書_○○_出力.pdf」が作成されていれば成功です。公式サンプル「Generate & send PDFs from Google Sheets」に準拠した動作です。

応用ヒント

生成したPDFをGmailAppで送信することで、第7回の「GAS×Gmail:下書き自動作成と一括送信準備」に接続できます。


定型文とひな形管理による応用展開
学習目標:Docs自動化を基盤に、事務所全体のテンプレート・定型文管理を整える方法を理解する。

テンプレートを共有ドライブで一元管理することで、文書の統一性を保てます。たとえば「契約書」「申請書」「委任状」などのテンプレートを分離し、Apps Scriptで対象に応じたテンプレートを動的に選択する仕組みを作ると運用が容易です。

また、PDF出力後にDrive上のクライアントフォルダへ自動仕分けすることで、文書管理の精度が高まります。これらの運用は公式ドキュメントが示すDriveAppやFolderメソッドの範囲で安全に実現できます。


まとめ

本稿では、Docs自動化の全体像として「テンプレートをもとに契約・申請文書を自動生成し、PDF出力まで完結する」流れを実践しました。GASによるDocsのmakeCopy()、replaceText()、getAs()といった基本メソッドの活用は、Google公式の一次情報に基づく確実な手法です。これにより、手作業の置換やファイル管理の負担を大幅に軽減できます。次回は、今回生成したPDFをGmail経由で自動送信し、依頼者連絡までを自動化するステップへ進みます。


※Docs:Google Docs(グーグルドキュメント)の略称。Googleの文書作成ツール。
出典:


AIに関するご相談はコチラ

HANAWA行政書士事務所メインページ

AIナレッジメインページ