今回は、SharePoint内のファイルをローカルにダウンロードするPower Appsの作り方を解説します。
手順
1. Power Appsで空のキャンバスアプリを作成します。
2. 「新しい画面」から「リスト」を選択します。
デフォルトで追加されている画面(Screen1)は不要なので削除します。
※追加した画面名は任意で変更してください。
3. [データの追加]ボタンをクリックし、データを追加します。
コネクタからSharePointを選択し、対象のサイトのドキュメントライブラリを選択します。
4. 画面上に配置されたギャラリーを選択し、追加したデータを「データソース」に設定します。
5. データソース接続後、画面上に表示する項目をギャラリーの「プロパティ>フィールド」から設定します。
※必要に応じてヘッダーの追加やレイアウトの設定を行います。
以下は設定例です。
・レイアウトを「画像、タイトル、サブタイトル」に設定
・フィールド>データを設定してヘッダーを追加
・画像(Image3部分)にはファイルのアイコンをアップロードして変更
6. フィールドを選択後、任意でレイアウトを変更します。
以下は設定例です。
・ヘッダーを追加(テキストラベルを追加し、背景色とテキストを変更)
・一覧を1行で表示するようドラッグ&ドロップ操作で整形
・アイコンを選択し、「>右」から「 ダウンロード」に変更
7. ダウンロードアイコンのOnSelectプロパティに、ファイルをダウンロードするための式を設定します。
※ギャラリー名(TemplateGalleryList1)は環境に合わせて変更してください。
設定例1: SharePointのURLを直接指定する
OnSelect:
Download(
"https://tenant.sharepoint.com/sites/siteName/"
&"_layouts/15/download.aspx?SourceUrl="& TemplateGalleryList1.Selected.アイテムへのリンク
);
設定例2: Left関数とFind関数(下図の赤字箇所)を使用して、自動的に取得する
OnSelect:
Download(
Left(
TemplateGalleryList1.Selected.アイテムへのリンク,
Find(
TemplateGalleryList1.Selected.フォルダーのパス,
TemplateGalleryList1.Selected.アイテムへのリンク
) - 1
)&"_layouts/15/download.aspx?SourceUrl="& TemplateGalleryList1.Selected.アイテムへのリンク
);
※Left関数:文字列の先頭から指定した数の文字を抽出します。
Find関数:文字列内で特定の文字や文字列が最初に現れる位置を見つけます。
設定例1では、直接URLを指定しているため、別のデータテーブルに接続する場合は式を修正する必要があります。
しかし設定例2のようにURLを自動で取得することによって、接続先やサイトのURLが変わった場合でも、式を修正せずに使用することができます。
設定は以上です。
動作確認
1. Power Appsアプリを保存し、右にある▷アイコンをクリックしてアプリを起動します。
(今回はSharePoint_File_Downloadという名前でアプリを作成しました。)
選択したファイルがローカルに保存されていることが確認できました
まとめ
本記事ではLeft関数とFind関数を使用してリンクを取得し、SharePoint内のファイルをローカルにダウンロードするPower Appsアプリの作り方について解説しました。
テンダでは、他にもPower AppsやPower Automateの活用法について多数記事を公開しています。
さいごに
テンダでは、「こんなプロジェクトに挑戦したい」「こんなチームで働きたい」「理想のチームを創りたい」と願う仲間を求めています。
カジュアル面談も随時受付中です。ぜひ一度お話ししましょう。