【完全版】GASでPDF作成を自動化する方法|初心者でも今日から使える!

はじめに

「毎回手作業でPDFを作るの、正直めんどくさい…」
そんなあなたに朗報です!

この記事では、Google Apps Script(GAS)を使って、
PDF作成を完全自動化する方法をわかりやすく解説します。

しかも、Googleスプレッドシートやドキュメントと連携できるので、
作業時間を大幅に短縮できるんです。

この記事を読めば、あなたもPDF自動生成マスターになれる!
それでは、さっそく始めましょう。


GASでPDFを作成・自動化できると何がいいの?

GASでPDFを作成・自動化するメリットは想像以上に大きいです。

  • スプレッドシートやフォームのデータから即PDF化

  • 契約書、請求書、領収書などをボタン一つで出力

  • 決まったフォーマットで毎月自動作成

  • 作ったPDFを自動でメール送信

つまり、
「人が手を動かす作業」をごっそりなくせるわけです。

GASとGoogleドキュメント・スプレッドシートのコンビは最強です!


まず最初に:準備するもの

PDF作成自動化に必要なものは、たったこれだけ。

  • Googleアカウント

  • Googleスプレッドシート

  • Googleドキュメント(テンプレート用)

  • GAS(スクリプトエディタ)

全部無料、すべてブラウザ上で完結します。
環境構築に悩む必要なし!


基本の流れ:GASでPDFを作成・自動化する手順

まず全体像をつかんでおきましょう。

  1. スプレッドシートでデータ管理

  2. Googleドキュメントをテンプレートとして作成

  3. GASでテンプレートにデータを差し込む

  4. 差し込んだドキュメントをPDFとして保存

  5. 自動化(ボタン実行・トリガー実行)設定

順番に丁寧に解説します!


ステップ1:スプレッドシートでデータを管理する

まず、Googleスプレッドシートを作りましょう。

例:

名前 金額 日付
山田太郎 50,000円 2025/04/01
佐藤花子 30,000円 2025/04/02

こんな感じで、各データを行ごとに管理します。
このデータを元にPDFを生成します。


ステップ2:Googleドキュメントでテンプレート作成

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

テンプレート例:


請求書

お客様:{{名前}}様

金額:{{金額}}

日付:{{日付}}

{{名前}}などの「置き換え用タグ」を入れておきましょう。
GASがここにデータを自動で埋め込んでくれます。


ステップ3:GASでテンプレートにデータを差し込む

いよいよコードを書いていきます。
Apps Scriptエディタで以下のようなコードを作成しましょう。

function createPDF() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const data = sheet.getDataRange().getValues();
  const templateId = 'テンプレートドキュメントのID';
  const folderId = '保存先フォルダのID';

  for (let i = 1; i < data.length; i++) {
    const [name, price, date] = data[i];

    const file = DriveApp.getFileById(templateId).makeCopy();
    const doc = DocumentApp.openById(file.getId());
    const body = doc.getBody();

    body.replaceText('{{名前}}', name);
    body.replaceText('{{金額}}', price);
    body.replaceText('{{日付}}', date);
    doc.saveAndClose();

    const pdf = DriveApp.getFileById(file.getId()).getAs('application/pdf');
    DriveApp.getFolderById(folderId).createFile(pdf);

    DriveApp.getFileById(file.getId()).setTrashed(true); // コピー元ドキュメントを削除
  }
}

ポイント:

  • makeCopy()でテンプレートをコピー

  • replaceText()で差し込み

  • getAs('application/pdf')でPDF化

  • 最後にPDFファイルを保存


ステップ4:実行してみよう

作成した関数createPDFを選び、▶️ボタンで実行!

保存先のGoogleドライブフォルダを確認すると、
きちんとデータが差し込まれたPDFファイルが自動生成されているはずです。

感動の瞬間です!


ステップ5:トリガー設定で完全自動化!

毎月自動でPDFを作りたいなら、GASのトリガー機能を使いましょう。

設定方法:

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

  • 関数:createPDF

  • イベントソース:時間主導型

  • タイプ:「月ベースのタイマー」など

これで、たとえば「毎月1日に自動で請求書PDF作成!」ができるようになります。


よくあるミスと対処法

ここで、初心者がつまずきやすいポイントをまとめておきます。

■ テンプレートID・フォルダIDを間違えた

Drive上で対象ファイル・フォルダを右クリック→「リンクを取得」→URLからID部分だけ抜き出してください。

例)
URLがhttps://docs.google.com/document/d/XXXXXXXXXXXXXXXXXXXX/editなら、
XXXXXXXXXXXXXXXXXXXXがIDです。

■ 差し込み用タグが置換されない

{{名前}}とスプレッドシートのヘッダー名やタグ名がズレていないか確認しましょう。

■ PDFファイルが壊れている

GASのバグではなく、差し込み処理の後に**必ずdoc.saveAndClose()**を呼んでいるか確認してください。


応用編:さらに便利な使い方

もっと便利にするために、こんなカスタマイズも可能です。

  • 作成したPDFを自動でメール添付して送信

  • ファイル名を「名前+日付」で自動生成

  • フォルダごとに顧客別に保存

  • フォーム送信に連動してPDF作成

アイデア次第で、無限に効率化できます


まとめ|GASでPDF自動化は超強力な武器になる!

この記事では、
GASでPDFを作成・自動化する方法をゼロから解説しました。

✅ スプレッドシートでデータ管理
✅ ドキュメントテンプレート作成
✅ GASで差し込み・PDF化・保存
✅ トリガー設定で完全自動化

これさえできれば、もう手作業に時間を奪われることはありません!

GAS×PDF自動化は、間違いなくあなたの業務を変えます。
今日からぜひチャレンジしてみてくださいね!

Shop now