PowerApps│SharePointリストの添付ファイル操作と活用事例

アイキャッチ

こんにちは、あんこ先生です。

PowerAppsからSharePointリストに、添付ファイルを格納したり開いたりできるって知っていましたか?

じつは、リストを作成すると最初からその項目が用意されているんです。

この添付ファイルを使うと、提出するレポートや点検結果の写真などを格納することができます。

でも使い方がよくわからないし、取り出し方もいまいち自信ないから…

安心してください。

この記事では、添付ファイルの操作方法と活用事例をコード付きで解説します。

これでもう迷わない!

SharePointリストの添付ファイル操作と活用事例

まず事前準備として適当なリストを用意してください。

次は添付ファイルを格納するためのフォームコントロールの準備です。

手順は簡単3ステップです。

  1. フォームコントロールを配置します。
  2. リストとレコードを指定します。
  3. 新規レコードを作成するならNewForm、既存レコードを修正するならEditFormを指定します。

サンプルでは次のように設定しています。

リスト名│添付ファイルテスト ※1レコードのみ作成済み

フォームコントロールは添付ファイルのカード以外削除し、その中にアイコンコントロールをひとつ加えています。

Form01.DataSourceプロパティ
添付ファイルテスト

Form01.Itemプロパティ
First(添付ファイルテスト)

Icon01.OnSelectプロパティ
SubmitForm(Form1)


ファイルの添付

ファイルの添付はとても簡単です。

実は添付ファイルカードのファイルを添付を押してファイルを選択するだけなんです。

もちろん複数選択やドラッグアンドドロップにも対応しています。(モバイル版は非府対応)

その後、SubmitFormすれば、リストに格納されます。

添付ファイルカードのOnAddFileプロパティSubmitFormを埋め込めば、ファイルを選択するたびにすぐ格納されるよ。


格納したファイルの削除

ファイルの削除も簡単です。

添付ファイルカードの×を押せば削除対象になります。

その後、SubmitFormすれば、リストから削除されます。

SubmitForm前であれば、もう一度押すことで削除対象から外せます。

添付ファイルカードのOnRemoveFileプロパティSubmitFormを埋め込めば、×を選択した時点で削除されるよ。
この場合、元に戻せないから注意してね。


ファイルの開き方

フォームコントロールFormModeに関係なく、ファイル名を押すことでダウンロードが始まります。

あとはそのファイルを開くだけです。

SharePointリストの添付ファイルは入れ子のテーブル

上図の通り、添付ファイルはリストの中に入れ子となったテーブルです。

そのため、参照させる場合は添付ファイルのレコードを特定する必要があります。

実際にイメージコントロールで試してみます。

Image01.Imageプロパティ
LookUp(First(添付ファイルテスト).添付ファイル,DisplayName=”添付PNG.png”).Value

はじめにFirst関数でリストのレコードを特定し、添付ファイル(テーブル)を指定します。

つぎにLookUp関数で添付ファイル(テーブル)のレコードを特定しています。

テーブルとレコード、関数との関係は別記事にまとめていますので、そちらを確認してください。


ギャラリーコントロールの活用

ギャラリーコントロールはテーブルをレコード単位に分けて表示してくれます。

そのため、添付ファイル(テーブル)の中身を簡単に確認できます。

また、画像であればイメージコントロールをテンプレートに埋め込むことで表示できます。

PDFビューワーギャラリーコントロールに対応していないため、外に設置しています。

Gallery01.Itemsプロパティ
First(添付ファイルテスト).添付ファイル

Gallery01.Label01.Textプロパティ
ThisItem.DisplayName

Gallery01.Image01.Imageプロパティ
ThisItem.Value

PdfViewer01.Documentプロパティ
Gallery01.Selected.Value

活用事例│SharePointリストの添付ファイル


ブラウザ経由でファイルを開く

ギャラリーコントロールに表示されたファイル名を押すことで、既定のブラウザで開きます。

PowerPointなど既定のアプリをデスクトップアプリに指定した場合、それらで開きます。

あとはギャラリーコントロールのテンプレートにHTMLテキストコントロールを設置し、次のように記述するだけです。

Gallery01.HtmlText01.HtmlTextプロパティ
“<A href=”&ThisItem.AbsoluteUri&”>”&ThisItem.DisplayName&”</A>”


Teamsに添付ファイルへのリンクを投稿する

せっかくなので、上司に報告するレポートなどTeamsに投稿してみましょう。

HTMLテキストコントロールに添付ファイルへのリンクが記載されており、その内容を本文として投稿しています。

PowerAppsからチャットなどを送るにはコネクタの接続が必要です。

応用すればメール送信もできます。

Gallery01.Icon02.OnSelectプロパティ

//Teamsに発言、各種IDは変更してください。
MicrosoftTeams.PostMessageToChannelV3(
    "59c9ba54-2dea-4546-acaf-ecc3815a1666",
    "19:T0DBChdBA6ubqUfufAj6L5feEujvslO903-x_KeHbR01@thread.tacv2",
   {content:HtmlText1_1.HtmlText,contentType:"Html"},
   {subject:"添付ファイルをみてください"}
)

Gallery01.Icon03.OnSelectプロパティ

//メールを送付、メールアドレスは変更してください。
Office365Outlook.SendEmailV2(
    "ankoromochi@anko7793.com",
    "添付ファイル見てください",
    "<A href="&ThisItem.AbsoluteUri&">"&ThisItem.DisplayName&"</A>"
)


見栄えをよくする

フォームコントロールでは、添付ファイルの種類に応じてアイコンが表示されます。

ギャラリーコントロールでは、先ほど紹介した方法でブラウザ等から直接ファイルを開けます。

ならば重ねてしまえばいいとこどりできるのでは?

重ねてみたところ、右図のようになりました。

追加削除はしないので、FormModeViewFormで変更しています。

EditForm時はギャラリーコントロールを非表示にすれば、さらに便利ですね。

アップロードと削除の機能は、フォームの内部でのみ機能します。 
ギャラリーコントロールからは制御できません。


添付ファイルの最大値を設定する

添付ファイルの最大数、およびひとつ当たりの最大容量を設定できます。

設定上、1000個でも1GBでもできました。

実際は試していませんので、どこかで閾値があると思います。

まとめ

今回はSharePointリストの添付ファイルについて解説しました。

  • 多種多様のファイルが格納でき、それらを開くことができる。
  • チャットやメールにも添付できる。

このあたりの機能を盛り込めば、レベルの高いアプリができあがりそうですね。

前向きに導入を検討してみてください。


アイキャッチ
アイキャッチ

ご支援よろしくおねがいします

この記事を気に入ってくださった方、寄付してあげてもいいよという方がいらっしゃっいましたら、ご支援いただけると助かります。

下記リンクからAmazonギフト券で、金額は15円からお気持ちを入力してください。

受取人のメールアドレスは amazon@anko7793.com までお願いします。

メッセージもいただけるとたいへん喜びます。

よろしくお願いします。

Amazonギフト券(Eメールタイプ) 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
七草あんこ
非IT系中間管理職やってます。社命によりoffice365を主軸とした業務改善プロジェクトメンバーに任命されたことでPowerAppsと出会えました。いまではビジネス・プライベートを問わず、欠かせないツールになっています。導入初期やアプリ作成時に遭遇した諸問題の解決法とサンプルアプリの作り方を紹介していきます。主にTwitterで情報収集しているので不明点など呟いているとお邪魔するかもしれません。