PowerApps|添付ファイルコントロールの使い方【格納場所&作り方も紹介】

添付ファイルコントロールの使い方
PowerAppsではアプリ内で添付ファイルを扱うことができます。

添付されたファイルはどこに格納されるのでしょうか?
・・・分からない事が多すぎて全く想像がつきません。



難しい操作手順を考えなくても良い様に作業は標準化されています。
今回はSharePointを使って添付ファイルを使える環境を用意します。
PowerAppsではSharePointを使うことで添付ファイルを使うことができるようになります。
加えて作業内容は難しくないです。作業はある程度フォーマット化されており既存の作業の組み合わせです。
本記事ではSharePointを含め以下3つのポイントを軸に添付ファイルコントロールの使い方について説明します。
- 添付ファイルコントロールとは?
- ファイルの格納場所(ファイルの行方)
- 添付ファイルコントロールを使った環境を用意する
関連記事
本記事のポイントはSharePointです。SharePointが理解できていない方をこちらの記事をご覧ください。
TeamsからSharePointのチームサイトを作る方法について紹介しています。
PowerAppsのギャラリーの作り方について紹介しています。
関連書籍
SharePointマスターになれる書籍を1冊紹介しておきます。


私は電子書籍で購入しました。
添付ファイルコントロールとは?
まずは添付ファイルコントロールについて説明していきます。
Microsoft公式ドキュメントをご覧ください。
ユーザーがデバイスにファイルをダウンロードしたり、Microsoft Lists を使用して作成されたリストまたは Microsoft Dataverse テーブルからファイルをアップロードおよび削除したりできるようにするコントロール。
Microsoftドキュメント:Power Apps の 添付ファイル コントロールから抜粋
「Microsoft Lists」を「SharePointリスト」に置き換えつつさらに文字を加工してみます。
添付ファイルコントロールはSharePointリストを起点に情報を出し入れする為の窓口的な役割を持っています。
続いて動画をご覧ください。(約35秒、BGM有)添付ファイルコントロールの使い方が分かります。
見ていただいた通りの操作方法です。よくあるWebサイトでファイルを貼り付ける時と同じ機能ですね。
どこに添付ファイルのコントロールを表示させているのか?
添付ファイルコントロールの親にあたるコントロールについて確認します。
添付ファイルコントロールは「Form」に属しています
Form(フォーム)の中にある1つのコントロールとして添付ファイルコントロールが存在しています。
ファイルの格納場所(ファイルの行方)
続いて「アプリ上で添付されたファイルがどこに格納されるのか?」について説明していきます。
「SharePointリストの各レコード」に紐付くかたちでファイルが格納されます
イメージしやすいように画像を用意しました。


PowerAppsで添付されたファイル(データ類)はSharePointのDBに格納されることになります。
もう少し具体的に言うとリストの各レコードに紐付いて格納されることになります。以降で詳しく解説します。
SharePointリストから添付ファイルを確認する
SharePointリストでファイルが添付されているレコードをダブルクリックします。
すると画面中央にレコードの詳細情報が表示されます。添付ファイルがある時は一番下に表示されます。


これで「SharePointリストのレコード」に紐付くかたちでファイルが格納されることが分かりましたね。
- このレコードの情報をPowerAppsのフォームで見るとどうなるのか?
-
フォーム内の添付ファイルコントロールに「傾向を見る.xlsm」が表示されます。
添付ファイルコントロールとSharePointリストとの関係はある程度イメージできたことでしょう。
続いて実際に添付ファイルコントロールを使った環境を用意します。一緒に作業を進めて下さい。
添付ファイルコントロールを使った環境を用意する
PowerAppsの中で添付ファイルコントロールを使った環境を用意していきます。
動作環境
画像のような環境を用意することにします。
- SharePoint ・・・ リスト
- PowerApps ・・・ ギャラリー、フォーム、ボタン


最後に1~4の順番でテストを行います。
- ギャラリーで1つのレコードを選択
- フォームでファイル(今回はExcel)を添付
- ボタンでデータを送信
- ギャラリーとリストで添付ファイルの状態を確認
SharePointで事前準備
まずはSharePointリストの中で添付ファイルコントロールを使えるようにしましょう。
これでSharePointリストのレコードにファイルを添付できるようになります。
- 対象のリストを開き画面右上のギアマークをクリック。「リストの設定」をクリック。
- 表示されたページの上段付近にある全般設定の「詳細設定」をクリック。
- 表示されたページの左側項目内の「添付ファイル」を有効にする。


続いて対象のリストの列に添付ファイルの有無を確認する列を用意します。
- 対象のリストを開き画面右上のギアマークをクリック。「リストの設定」をクリック。
- 表示されたページの中段あたりにあるビューの「すべてのアイテム」をクリック。
- 表示されたページの右側項目内の「添付ファイル」にレ点を付けて画面右上の「OK」をクリック。


リストのURLを更新するとリストに「添付ファイル」列が出来ています。
添付ファイルを持っているレコードはクリップマークが付く様になります。


これでリストを見ればすぐに添付ファイルを持っているレコードなのか判断が付く様になります。
PowerAppsにて環境構築
PowerAppsの作業は少しボリュームがありますね。大きく分けて5つの作業となります。
- リストを用意する
- ギャラリーを用意する
- フォームを用意する
- フォームの中に添付ファイルのコントロールを表示させる
- 実行ボタンを用意する
- ギャラリーとフォームを連動させる
1_リストを用意する
SharePointのリストは「d-down」という名前です。各列の情報は以下テーブルをご覧ください。
番号 | 列名 | データ型 |
---|---|---|
1 | no | 1行テキスト |
2 | name | 1行テキスト |
3 | maker | 1行テキスト |
4 | unitprice | 数値 |
5 | stock | 数値 |
6 | 添付ファイル | 添付ファイル |


2_ギャラリーを用意する
ギャラリーを用意する方法についてはこちらの記事で説明しています。


ギャラリーのプロパティは以下の様に指定してください。
番号 | プロパティ | 式 |
---|---|---|
1 | Items | ‘d-down’ |
3_フォームを用意する
フォームを用意する方法についてはこちらの記事で説明しています。


フォームのプロパティは以下の様に指定してください。
番号 | プロパティ | 式 |
---|---|---|
1 | DefaultMode | FormMode.Edit |
2 | DataSource | ‘d-down’ |
3 | Item | Gallery*.Selected ※ |
4_フォームの中に添付ファイルのコントロールを表示させる
デフォルト設定で表示されるフォームの中には添付ファイルのコントロールは表示されません。
画像のように操作していただき添付ファイルのコントロールを表示させてください。


ここまできたらフォームはひとまず完成です。


5_実行ボタンを用意する
実行ボタンを用意します。画面左上あたりの「挿入」タブから「ボタン」を選択。


ボタンのOnSelectプロパティに以下式を入力してください。
SubmitForm(Form1)
これで添付ファイルの情報がフォームの内容と一緒にSharePointリストの特定のレコードに格納されます。
6_ギャラリーとフォームを連動させる
最後の作業です。ギャラリーとフォームを連動させます。
ギャラリーの編集列にある「>」マークのOnselectプロパティに式を記入します。


ギャラリーの中にある「NextArrow」コントロールのOnselectプロパティに以下式を記入してください。
Navigate(フォームを用意されているスクリーン)
たとえばScreen2にフォームが用意されているときは以下のような式になります。
Navigate(Screen2)
「NextArrow」はギャラリーで選んだ1つのレコードの情報をフォームに展開する機能を持っています。
これで単一の情報がフォームに入力されるようになりました。
テスト
ではこの環境が想定通り機能するのかどうか①~④の順でテストを実施していきます。
- ギャラリーで1つのレコードを選択
- フォームでファイル(今回はExcel)を添付
- ボタンでデータを送信
- ギャラリーとリストで添付ファイルの状態を確認
テストの状況を動画にまとめておきました。ご覧ください。(約80秒、BGM有)
これで終了です。お疲れ様でした。


まとめ
添付ファイルコントロールについて考え方と動作環境を構築する方法を解説しました。
PowerAppsだけでは環境を用意することができないのでSharePointと一緒に環境を用意しています。
1つのアプリケーションで完結する内容ではないので少々難しいかもしれませんがまずは手を動かしましょう。
自分で操作すると色々な気付きがあります。その気付きを大事にしてアプリ作成に取り組んでください。

