本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。
本ブログでは新UI画面で内容をまとめています。
新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

まずはじめに
- Automationで生成したExcelやPDFのリンクをアプリにつけたい人
- AppSheetの相対パスの設定方法がわかる
AppSheetのAutomation機能には、登録されたデータからファイルを生成する機能があります。
AppSheetで生成したPDFは、メール添付やGoogleドライブ(マイドライブ)への保存は可能ですが、後から過去の特定のPDFを探し出すのは、標準機能だけでは手間がかかります。
そこで本記事では、生成したファイルへのリンクをカラムに保存し、いつでも目的のPDFに容易にアクセスできるようにする設定について解説します。
以下の3つの設定が、特に重要となります。
- アプリを構成するスプレッドシートをマイドライブにある当該アプリのフォルダに投函する
- Automationで生成するファイルの保存先と名前を関数で制御する
- ファイルリンクを保存するカラムに②の関数をセットする
これらの設定をすることで、どんなアプリにもファイルパスをセットすることが可能です!
それでは勉強していきましょう(^^)
検証アプリの下準備
今回の検証に使ったスプレッドシートのカラムは、以下のようにしました。

これをアプリ化し、データタイプの設定は以下のようにします。

ファイル生成のカラムは、Yes/NoタイプにすることでAutomationの発火のフラグを持たせています。
ファイルパスのカラムは、Fileにしておきましょう。
次に、ファイル生成をするAutomationの機能を実装します。
ファイル生成をTRUEにするアクションボタンを作っておいて、それを押したらAutomationが発火してファイルを生成する仕組みを作りましょう!
本記事では、ポイントとなる部分だけ写真を貼っておきます。



これで下準備はOKです。お疲れ様でした!
スプレッドシートとアプリのフォルダ階層を揃える
アプリの設定が完了したら、アプリを構成しているスプレッドシートをアプリのフォルダに移動させます。

これを忘れるとファイルパスを設定しても動作しません・・・
以下の方法を参考にしつつ、スプレッドシートの保存場所を移動させましょう!

まずはGoogleドライブを立ち上げて、検索バーにアプリの名前を入力します。
そうするとアプリの名前が含まれたフォルダが検索にかかるので、ここの中にスプレッドシートを入れましょう!
下図のようになっていればOKです。

Automationで生成するファイルの保存先と名前を関数で制御する
この設定も非常に重要です。
設定のポイントとなるところを確実に抑えていきましょう。
- ファイルの保存先(相対パス)を指定する
- ファイルの名前を決める(タイムスタンプの設定をオフにする)
これら2つの設定を順に解説していきます。

まずはファイルの保存先を設定します。赤枠で囲まれた箇所が該当部分になります。
もしここに何も入力しなかった場合は、アプリフォルダの中に「Files」や「Attachment」といったフォルダが自動生成されるようになります。
- Create a new fileの場合はFile
- Send an emailに添付する(Attachする)場合はAttachment
今回は「PDF」というフォルダの中に「テスト」というフォルダを生成したいとします。
File Folder Pathに “PDF/テスト” と入力します。
また、ここにはフラスコマークがあるので関数を入力することも可能です。
例えば、請求書発行アプリなんかだと取引先別にフォルダを分けることも可能です。
その場合は、 “請求書/”[会社名] みたいな表記になります。
次にファイルの名前を設定します。
先に設定したファイルパスのすぐ下にあるので、わかりやすいです(^^)

デフォルトでは「AppSheetDoc」となっているので、仮に上図の状態でPDFを生成したとすると AppSheetDoc.pdfという名前のPDFが作成されます。
Disable Timestamp? のトグルボタンをONにすることで、タイムスタンプがつかなくなるのでファイル名が一意となります。
今回は簡単なテキスト値と、PDFを作成した日付を入れてみます。

ファイルパスと同じく、カラムの値をファイル名に使うことももちろん可能です。
例えば、 “【請求書】”&” “&[会社名]&TEXT(TODAY(), “YYYYMMDD”) みたいな表記になります。
注意点として、TODAY()関数の書式フォーマットにスラッシュ(/)を入れないことです。

スラッシュを入れると、フォルダ階層と判定されてしまいます!
“PDF作成”&” “&TEXT(TODAY(), “YYYY/MM/DD”)とした場合、フォルダの階層とファイル名が、PDF → テスト →PDF作成2025 → 04 → 15.pdf となり、意味不明な表記になってしまいます・・
生成したファイルへのリンクを取得する
最後の設定として、フォルダリンクと該当ファイルへの相対パスを取得するテキスト値を用意します。
設定はめちゃくちゃ簡単です。下図の手順を参考にしてください(^^)

ファイル生成のAutomationに追加する形でステップを追加します。
追加したステップの設定は、下図の赤枠のようにしましょう。

一つ前のAutomationで設定したテキスト値や関数をコピーしておきます。

赤枠で囲った部分をそのままコピーしましょう!
最後に取得したファイルリンクをテキスト値として格納する設定をします。

入力する関数はSTEP.2でコピーした関数を結合させて作ります。

ファイルパスの作成手順ですが、
- フォルダパスを貼り付ける
- “/” を文字列として結合させる
- ファイル名を貼り付ける
- “.pdf”を文字列として結合させる
上記の手順でそれぞれの文字列を結合させていきましょう!
これで準備は完了です。お疲れ様でした(^^)
設定の確認

それでは最後に今回設定したアプリの挙動を見てみましょう!
Automationの発火条件を対象のアクションボタンを押すことにしてあるので、早速ポチッと(^^)


生成されたファイルパスをクリックすると、Automationで作成したファイル(デフォルトでは保存先はマイドライブ)を閲覧することが可能です(^^)
まとめ
以上、Automationで作成したファイルへのリンクを取得する方法についての記事でした。
今回は作成する資料はPDFを想定していますが、Excelの場合は最後の拡張子を”.xlsx”とすればOKです。
また、今回は一度生成したPDFを再作成する想定で作っていませんので、登録されているデータを更新して再作成するユースケースを想定するなら、ファイル名に枝番(更新のたびにカウントが1増えるような仕組み)を入れてあげましょう(^^)
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)