📖

AppSheetでPDF出力&ファイルを開く方法 完全解説!

に公開

DSKアドベントカレンダー2025の4日目です。
色んな方がAIに関する面白い記事を書かれているので、今日は業務でも使える(?)知っていると便利なAppSheetとPDFのお話です。

AppSheetで作成したデータをPDFとして出力し、さらにそのPDFをアプリから簡単に開くための設定は、業務効率を格段に向上させます。

この記事では、AppSheetのAutomation機能を使ったPDF出力の方法から、保存先を共有ドライブに変更する方法、そしてユーザーがアプリからすぐにPDFを開けるようにするための設定までを、備忘録として分かりやすく解説します。


1. Automationを使ったPDFの出力方法

AppSheetでPDF出力を実現するためには、Automation機能を利用します。

(1)Event(イベント)の設定

エディタから「Automation」タブを開き、新しいBotを作成した後、Eventを設定していきます。

Eventでは、何をトリガーにしてBotが動作するのかを設定します。今回は、「ステータス」が”未確認”から”確認済”になったときにPDFを出力することを想定し、以下のように設定します。

(2)Process(プロセス)の設定

Eventが発生したときに実行するProcessを設定します。

まずはPDFを出力させるために、「Run a task」から「Create a new file」を選択し、File Typeで「PDF」を選択します。

次に、PDFとして出力するテンプレートを作成します。

Template欄からPDFとして出力したいドキュメントを取り込むことができます。また、右側の「Create」から新規ドキュメントを作成することも可能です。

Googleドキュメントなどのテンプレート内で、AppSheetの列名を<< >>で囲うことで、その行の値をドキュメントに差し込むことができます。

最後にFile Name Prefixにファイル名を入力することで、PDF出力の準備は完了です。ファイル名には数式を使うことで、条件分岐をさせたり、動的に行の値を使ったりすることができます。

その下にある「Disable Timestamp」を有効にすることで、ファイル名を分かりやすく設定できます。その際、ファイル名が一意のものになるようにFile Name Prefixを設定する必要があります。ファイル名に日付やIDを入れることで一意性を確保できるようにしましょう。

⚠️ 注意点
行の値から**日付(Date型)**を取得し、ファイル名に使用する際には注意が必要です。

AppSheetでフォルダパスを指定する際には「/」区切りでフォルダを分けます。AppSheetのDate型はデフォルトで「年/月/日」というように「/」で区切られているため、ファイル名としてそのまま使用すると、意図しないフォルダが生成されてしまう可能性があります。

日付をファイル名に使う場合は、TEXT()関数を使い、「/」が入らない形式に変換するようにしましょう。

これでPDF出力の準備は完了です。ステータスを更新することで、Automationが起動し、PDFが作成されます。

デフォルトの設定では、PDFはマイドライブappsheetdataアプリ名Filesの中に格納されます。次の章では、この保存場所を変更する方法を解説します。


2. 保存場所の変更方法

PDFの保存場所は、AutomationのProcessにある「File Folder Path」からフォルダパスを指定することで変更できます。Processからの設定では、数式を使ってフォルダ名を動的に指定することができます。

このように設定することで、フォルダ名を動的に変更することができます。IF関数などを使うことで条件によって保存するフォルダを分けることも可能です。

上記の設定をした場合、このままだとPDFは、マイドライブ>appsheetdataアプリ名Files、の中に新しく作成されたフォルダの中に保存されるため、使い勝手はまだ改善の余地があります

アプリエディタのSettings」>「Information」>「Default app folder」から、PDFなどの格納場所のルートを変更することができます。この設定を変えることで、PDFを好きな場所に保存できます。

ここにPDFを保存したいフォルダ名を入力することで、マイドライブ内の特定のファイルにPDFを保存できます。前述のとおり、「/」で区切ることでフォルダを階層構造にすることもできます。事前にフォルダを用意していなくても、初回にPDFを作成した際に自動で新しいフォルダを作成してくれます。

【補足】共有ドライブに保存する方法

フォルダパスを設定する際、デフォルトではマイドライブの中にフォルダが作成されますが、先頭に「/【TeamDrive】共有ドライブ名/ 〜〜〜」という形で共有ドライブ名を入力することで保存先を共有ドライブにすることができます。


3. 保存したPDFをAppSheet内で開く方法

Automationで作成したPDFをアプリ内で開いて内容を確認するための方法について解説します。

AppSheetのActionには、指定したファイルを開くことができる機能があります。今回はこれを使うために、PDFを出力した後にPDF列にフォルダパスを入力する、という設定を行います。

(1)AutomationのProcessからステップを追加

AutomationProcessから、「Add a step」を選択します。

(2)Run a data actionを設定し、フォルダパスを入力

Run a data action」を選択し、「Set row values」からPDFの列に入力するフォルダパスを設定します。

これにより、PDFが作成・保存されたタイミングで、データソースPDF列フォルダパスが書き込まれます。PDF列のData typeを「File」型にすることで、自動的にPDFを開くためのアクションが生成されます。

⚠️ 注意点
フォルダ名やファイル名を動的に生成している場合、PDF列にそのまま記入することができませんので、CONCATENATE()関数などを使って文字列を接続する必要があります。また、ファイル名の後に「.pdf」を付け忘れないように気をつけましょう。


4. 共有ドライブに保存したPDFをアプリで開く方法

マイドライブ内に保存されているPDFをアプリ内で開く場合は前述した方法で開くことができますが、データソースとなるスプレッドシート等がマイドライブにあり、開きたいPDFが共有ドライブにある場合、アプリからPDFを開くことができません。これを解消する方法を解説します。

[1] データソースとなるスプレッドシートを共有ドライブに移動する

最も簡単に共有ドライブ内のPDFを開く方法です。しかし、Automationで作成したPDF以外の画像やファイルがマイドライブにある場合、それらの参照方法も変更する必要がある点に注意が必要です

[2] PDFのURLを取得してデータソースに書き込む

AutomationのProcess>「Run a task」から「Call a script」を選択することでGAS(Google Apps Script)を利用することができます。GASを使うことで、PDFのURLを取得し、データソースに書き込み、そこから開くことが可能になります。スプレッドシートのPDF列にはURLが入るため、Data typeを「URL」型に変更することを忘れないようにしましょう。


5. まとめ

AppSheetのAutomationを使えば、データ入力やステータス変更といったトリガーに応じて、必要なPDFを自動で生成・保存できます。さらに、ファイルパスを記録してアプリ内に表示することで、ユーザー体験も向上します。

ぜひ、この設定を活用して、AppSheetによる業務フローをさらにスムーズにしてください!

DSKアドベントカレンダー2025はこちら
DSKアドベントカレンダー2025

電算システム 有志

Discussion