【Googleフォーム x Google AppSheet】フォームの回答からPDFを生成してみる
この記事は、[ispec] 医療に向き合う技術者集団の戦録 Advent Calendar 2024 の9日目の記事です。
はじめに
こんにちは、ispecアドベントカレンダー担当の中嶋です!
最近、業務で初めてAppSheetを触る機会があり、その多機能さと使いやすさに驚きました。
特に、GUI上で簡単にカスタマイズできる点や、Googleフォームと連携してPDFを自動生成できる機能は非常に便利です。
そこで今回は、クリスマスをテーマにしたサンプルアプリを用いて、この連携方法をご紹介します。
サンプルアプリの概要
このサンプルアプリでは、以下の流れでPDFを自動生成します。
- 子どもたちがGoogleフォームでプレゼントをリクエスト
- サンタさんがAppSheetでリクエスト内容を効率的に管理
- 管理内容をもとに請求書(PDF)を自動生成
用意するもの
-
Googleフォーム:
子どもたちが欲しいプレゼントをリクエストするためのフォームです。
子どもたちは何度でもフォームを送信可能です。 -
フォーム回答を蓄積するスプレッドシート:
リクエスト内容を保存するデータベース的な役割を果たします。 -
AppSheetアプリ:
サンタさん専用の管理用業務アプリです。
手順解説
1. Googleフォームの準備
まずは、Googleフォームを作成します。
今回は以下のような簡易的なフォームを例とします。
2. Googleフォーム × AppSheet連携
次に、AppSheetで「Data」から「+」ボタンを押し、「Google Form」を選択して先ほど作成したフォームを取り込みます。
これにより、フォームの質問内容に基づいてテーブルが自動生成されます。
ただし、データ型が期待と異なる場合があるため、必要に応じて微調整してください。
3. Googleフォーム回答データのコピー用テーブル作成
ポイント:Googleフォームから取得したテーブルは編集できないため、AppSheet側で管理しづらい場合があります。
例えば、ステータス管理などを行いたい場合は、編集可能な別テーブルを用意し、フォーム回答をコピーする仕組みを作ると便利です。
このコピー処理はAppSheetのAutomation機能を利用します。
フォーム送信時にAutomationでコピー処理を行えば、柔軟なデータ加工が可能になります。
Automation設定のヒント
Automationの下部にある「Trigger other bots」をオンにすることで、コピー先テーブル側のAutomationも発火させることが可能です。
コピー元のAutomationでこのオプションをオンにすることをお忘れなく。
これにより、コピー先でもさらに処理を続けられるため、運用がスムーズになります。
4. AppSheetでのPDF生成
AppSheetでのPDF生成方法については、他の記事で詳しく解説されています。
以下の参考記事などを確認してみてください。
また、AppSheetとGAS(Google Apps Script)を組み合わせることで、スプレッドシートのデータをもとにPDFを生成することも可能です。
用途やPDFフォーマットに応じて、最適な方法を選択してみてください。
まとめ
AppSheetは慣れが必要な部分もあるものの、簡易な業務システムを素早く構築できる利便性に大変優れています。
特に、Googleフォームとの連携を活用すれば、データの収集から管理、PDF生成まで一元的なワークフローが構築可能です。
さらに、Googleフォームを利用するユーザー側にデータを見せず、必要な部分だけをAppSheetで管理できるため、社外ユーザーへのアンケートや、データアクセスを分けたいケースにも有効です。
ぜひ一度、AppSheetとGoogleフォームを組み合わせてみてください!
メリークリスマス🎅🎅
Discussion