10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Power AutomateAdvent Calendar 2023

Day 17

SharePoint のドキュメントライブラリでPower Apps Formを活用して、フォルダ内のファイルにアクセスする

Last updated at Posted at 2023-12-16

はじめに

SharePointのリスト フォームのカスタマイズでPower Appsの機能が利用できます。

前回の記事はこちら。

ドキュメント ライブラリも同様にPower Appsでカスタマイズできます。
基本的にEdit(編集・閲覧)を目的にした機能に思えますが、
個人的にはPower Appsから開くことによってSharePointのドキュメントライブラリから
気軽にPower Automateが使えるのでは??という仮説のもと、小技を日々試しています。

SharePointのドキュメントライブラリのプロパティで活用する

前述のとおり、ドキュメントライブラリのプロパティをPower Appsで見ることができます。

見ることができる = 値を取得することができる

ですね。

どのような値が取得できるか、リストアップしてみましょう。

SharePointIntegrationによって取得できる値

選択したファイル or フォルダーの下記の事項が取得できます。

モード コメント
ID 表示専用 SharePoint ドキュメントライブラリのID
名前 編集可能 ファイル・フォルダの名前
コメント 表示専用 -
アイテムへのリンク 表示専用 便利!
ウィンドウ開始のトークンのトリガー 表示専用 -
ウィンドウ終了のトークンのトリガー 表示専用 -
コンテンツの承認状態 表示専用 -
コンプライアンス資産ID 表示専用 -
サムネイル 表示専用 イメージコントロールで表示可能
タイトル 表示専用 -
チェックアウト先 表示専用 -
チェックアウト済 表示専用 -
バージョン番号 表示専用 -
フォルダーのパス 表示専用 -
完全パス 表示専用 -
拡張子付きのファイル名 表示専用 -
更新日時 表示専用 -
更新者 表示専用 -
登録日時 表示専用 -
登録者 表示専用 -
秘密度 表示専用 -
色タグ 表示専用 -
説明 表示専用 -
識別子 表示専用 -

上記に加えてメタデータが編集可能。
Power Automateにおけるプロパティの取得をここで完結できているという解釈もできます。

ID完全パス識別子がわかっている時点でシンプルなPower Automateでも小技が仕込めそうです。
使っている小技を紹介させてください。

フォルダのプロパティを見ながらフォルダ内のファイルを開きたい

Power Appsでフォームを作る際の弱点として、起動が遅いという点が挙げられます。

短気な人は100%我慢できません。
同時に一度プロパティを閉じて、フォルダ内のファイルを開きに行く、ということにも抵抗が生まれるかもしれません。

そんなときに下記のようなフローを活かしてみましょう!

フロー

qiita.gif

  1. Power Apps V2
  2. 変数を初期化する - 配列
  3. フォルダー内のファイルを取得する
  4. ファイル名とリンクをオブジェクトに格納する
  5. 配列変数に追加する
  6. Power Appsに戻す

image.png

Power Apps側

Power Automateの起動に、選択したフォルダの完全パスを渡します。
Formの中でThisItem.完全パスで、値を操作できるのはやはり手軽。

image.png

UpdateContext({_json:ドキュメントライブラリの情報をJSONで取得する.Run(ThisItem.'完全パス ').value});

Power AppsでPower Automateの戻り値を受け取る際、ParseJSONという関数を使います。
一癖ある関数ですが、コルネさんのブログで学びましたので参考までにどうぞ。

Power Automateの戻り値を受け取り、

Table(ParseJson(_json))

としてPower Appsのテーブル型のデータにします。

垂直ギャラリーにモダンコントロールのハイパーリンクを仕込んでみます。

image.png

これによる利点があるのか・・?という点を感じそうですが、列挙してみましょう

  • フォルダのプロパティで承認・否認を管理する
    • ドキュメントセットでも良さそうですが、フォルダ単位で複数のファイルの確からしさをチェックするときに、承認フローの引数として、フォルダを使うことができそうです
    • 編集画面にそのまま飛べる
      • SharePointから開くことでOfficeファイルは気軽に開き、編集や操作が可能
      • メタデータを参照しながらコメントや、何の申請に対して操作をしているのか、目視できる

やり過ぎにはご注意

ドキュメントライブラリにおけるフォルダのメタデータの操作画面としても重宝しますが、一方でFormで内部のCardを活用すれば、いくらでも下にスクロールできる魔改造が出来てしまいます。

本来的にはSharePointのアイテムのプロパティを見る機能が、魔改造されきった化け物になることは誰も望まないでしょう。

活用シーンに合わせて利用してみてください!

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?