GAS×Docs:契約・申請テンプレを自動生成|行政書士事務所HANAWAくんと学ぶAI活用実践ラボ第6回
HANAWA行政書士事務所では、日々の契約書や申請書の作成業務を効率化するために、Google Apps Script(GAS)を用いたDocs自動化の仕組みを導入し始めていた。
サトウ所長:「前回はスプレッドシートの内容をSlackへ自動通知する仕組みを構築したね。今回は、そのデータをもとにGoogle Docs※を自動生成してみよう。」
HANAWAくん:「契約書や申請書のテンプレートを自動で作成できたら、入力の二重作業を減らせますね!」
サトウ所長:「その通り。定型文やひな形管理を進めると、事務の精度とスピードの両立ができる。今日はそれを体験してみよう。」
(Docsテンプレートを自動生成してPDFまで出力できたら、事務作業の時間が大きく短縮できそうだ)
目次
-
Docs自動化の概要と導入準備
-
テンプレ置換で契約・申請文書を生成する
-
目次・スタイル設定で整った書式に仕上げる
-
PDF出力と成果物の確認
-
定型文とひな形管理による応用展開
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() { |
動作確認ポイント
実行後、Driveに「契約書_○○」というDocsファイルが作成され、{{name}}などが正しい値に置き換わっていれば成功です。
応用ヒント
複数の顧客データ行をループ処理することで、複数契約書を一括生成できます。
目次・スタイル設定で整った書式に仕上げる
学習目標:自動生成したDocsのスタイルや目次を整え、業務文書としての体裁を整備する。
Docsでは、段落にスタイル(見出しレベル)を設定することで目次を自動生成できます。Apps ScriptのParagraphHeadingプロパティを用いることで、特定の段落に見出し1〜3を自動指定できます。
コード例
function formatDocument(docId) { |
動作確認ポイント
生成された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) { |
動作確認ポイント
指定フォルダに「契約書_○○_出力.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の文書作成ツール。
出典:
-
Extending Google Docs | Apps Script(https://developers.google.com/apps-script/guides/docs)
-
Generate & send PDFs from Google Sheets | Apps Script(https://developers.google.com/apps-script/samples/automations/generate-pdfs)