GASのDocsAppでGoogleドキュメントを自動作成する方法

先生

Googleドキュメントの自動作成?GASとDocsAppで、もう手作業とはお別れだ!🚀

DocsAppとは?GASとの連携で何ができるのか

DocsAppは、Googleドキュメントをテンプレートとして活用し、データに基づいてドキュメントを自動生成するツールです。Google Apps Script (GAS)と組み合わせることで、この自動化処理をさらに柔軟かつ強力に制御できます。

例えば、顧客リストやプロジェクトデータなどの情報をGASで処理し、DocsAppを通じて請求書、レポート、契約書などのドキュメントを自動的に作成できます。手作業によるドキュメント作成の時間を大幅に削減し、人的ミスのリスクを減らすことが可能です。

GASとDocsAppの連携は、特に大量のドキュメントを定期的に作成する必要がある場合に有効です。例えば、毎月のレポート作成、顧客への請求書発行、イベント後の参加者へのサンキューメール送付など、様々な業務を自動化できます。

GASでDocsAppを操作する準備

GASでDocsAppを操作するには、まずDocsAppライブラリをGASプロジェクトに追加する必要があります。

GASエディタを開き、「ライブラリ」アイコンをクリックします。ライブラリを追加するダイアログが表示されるので、DocsAppのスクリプトIDを入力して検索します。DocsAppライブラリが見つかったら、追加してください。

DocsAppのスクリプトIDは、通常、DocsAppのドキュメントに記載されています。記事執筆時点での最新のスクリプトIDを確認するようにしてください。

ライブラリを追加したら、GASコード内でDocsAppの関数を使用できるようになります。

// DocsAppライブラリの追加例(スクリプトIDは仮のものです)
// プロジェクトにライブラリを追加する際に使用するスクリプトID
// 1234567890abcdefghijklmnopqrstuvwxyz

GASでDocsAppを使ったドキュメント自動作成の基本

GASでDocsAppを使ってドキュメントを自動作成する基本的な流れは以下の通りです。

1. テンプレートとなるGoogleドキュメントを作成します。ドキュメント内に、GASで置き換える変数を記述します(例: {{顧客名}}、{{請求金額}})。

2. GASコードで、DocsAppの関数を呼び出し、テンプレートドキュメントのID、出力先フォルダのID、変数と値を指定します。

3. DocsAppがテンプレートドキュメントをコピーし、指定された変数と値を置き換えて、新しいドキュメントを作成します。

// ドキュメント自動作成のサンプルコード
function createDocument() {
  // テンプレートドキュメントのID
  const templateId = 'テンプレートドキュメントのID';
  // 出力先フォルダのID
  const outputFolderId = '出力先フォルダのID';
  // 置き換える変数と値
  const data = {
    '顧客名': '株式会社サンプル',
    '請求金額': '100,000円'
  };

  // DocsAppを使ってドキュメントを作成
  const doc = DocsApp.create(templateId, outputFolderId, data);

  // 作成されたドキュメントのURLをログに出力
  Logger.log(doc.getUrl());
}

上記のコードでは、DocsApp.create()関数を使ってドキュメントを作成しています。templateIdoutputFolderIddataは、それぞれテンプレートドキュメントのID、出力先フォルダのID、変数と値を格納したオブジェクトです。

実際のコードでは、これらの値をGASの他の関数から取得したり、スプレッドシートから読み込んだりすることができます。

応用:スプレッドシートのデータからドキュメントを生成

GASとDocsAppを組み合わせることで、スプレッドシートのデータを読み込み、そのデータに基づいて複数のドキュメントを一度に生成できます。

例えば、顧客リストがスプレッドシートに保存されている場合、GASでスプレッドシートのデータを読み込み、各顧客に対して個別の請求書や契約書を自動的に作成できます。

// スプレッドシートのデータからドキュメントを生成するサンプルコード
function createDocumentsFromSpreadsheet() {
  // スプレッドシートのID
  const spreadsheetId = 'スプレッドシートのID';
  // シート名
  const sheetName = '顧客リスト';
  // テンプレートドキュメントのID
  const templateId = 'テンプレートドキュメントのID';
  // 出力先フォルダのID
  const outputFolderId = '出力先フォルダのID';

  // スプレッドシートを取得
  const spreadsheet = SpreadsheetApp.openById(spreadsheetId);
  // シートを取得
  const sheet = spreadsheet.getSheetByName(sheetName);
  // データの範囲を取得 (A2から最終行まで)
  const range = sheet.getDataRange();
  // データの値を取得
  const values = range.getValues();
  // ヘッダー行をスキップ
  values.shift();

  // 各行のデータに基づいてドキュメントを作成
  values.forEach(row => {
    // 各列のデータを変数に格納 (例:A列=顧客名, B列=請求金額)
    const 顧客名 = row[0];
    const 請求金額 = row[1];

    // 置き換える変数と値
    const data = {
      '顧客名': 顧客名,
      '請求金額': 請求金額
    };

    // DocsAppを使ってドキュメントを作成
    const doc = DocsApp.create(templateId, outputFolderId, data);

    // 作成されたドキュメントのURLをログに出力
    Logger.log(doc.getUrl());
  });
}

参考リンク

まとめ

GASとDocsAppを組み合わせることで、Googleドキュメントの自動作成を効率化し、業務の生産性を向上させることができます。テンプレートの作成、GASコードの記述、DocsAppの設定など、初期設定は必要ですが、一度設定すれば、あとは自動的にドキュメントが生成されるため、時間と労力を大幅に削減できます。

ぜひ、GASとDocsAppを活用して、ドキュメント作成の自動化を実現してみてください。