はじめに
何かの申請、申込みを行う業務において、必要書類 (添付ファイル) を添えるケースがあると思います。このような業務を Power Apps と SharePoint リストを利用して効率化する場合、既定で存在する添付ファイル列を利用する方法があります。
こちらの添付ファイル列、複数のファイルをアップロードできます。
今回は、Power Apps から SharePoint リストの添付ファイル列を利用する際、ある条件を満たした際に添付ファイルのアップロードを必須にする、添付ファイルの数がアプリ管理者が指定する数に達していない際に登録出来ないようにする方法について紹介いたします。
ある条件を満たした際に添付ファイルのアップロードを必須にする
まず、Power Apps でフォームコントロールで入力を必須にするためには、データカードの[Required]
プロパティを false
から true
に変更します。
ただし、こちらを true
に変更すると常に入力が必須となります。そのため、入力項目で選んだ値によって入力を必須にしたいような場合は、条件式を書く必要があります。
例えば、LinkedIn プロフィールの欄 (DataCardValue9) が空白の際、履歴書、職務経歴書の入力 (添付) を必須にしてみます。
If(
IsBlank(DataCardValue9.Text),
true,
false
)
上記にくわえ、以下のようなボタンを通じてデータの登録を行う場合、ボタンの[DisplayMode]
プロパティやエラーメッセージ用のラベルの[Visible]
プロパティを臨機応変に変更する方法もあります。
ボタンの[DisplayMode]
プロパティの式は以下のような感じです。添付ファイルの項目含め、フォームコントロールの入力必須項目において、未入力の箇所がある場合にボタンを押せなくしています。
If(
!Form1.Valid,
DisplayMode.Disabled,
DisplayMode.Edit
)
Form1.Valid
で判定しております。こちらだけで、フォームコントロールの入力必須項目において、未入力の箇所がないか判定できるため便利です。
エラーメッセージ用のラベルの[Visible]
プロパティも同じような感じで設定します。
添付ファイルの数がアプリ管理者が指定する数に達していない際に登録出来ないようにする
今回は、職務経歴書と履歴書の 二つのファイルをアップロードしてもらいたいため、添付ファイルが一つしかない場合にもアップロード出来ないようにします。
まず、ボタンの[DisplayMode]
プロパティは以下のような感じです。
If(
Form1.Valid And CountRows(DataCardValue10.Attachments)>1,
DisplayMode.Edit,
DisplayMode.Disabled
)
エラーメッセージ側の[Visible]
プロパティの設定は以下のような感じです。ボタン側の[DisplayMode]
プロパティをベースに設定しています。
If(
Button1.DisplayMode = DisplayMode.Edit,
false,
true
)
ちゃんと二つアップロードするとボタンが押せるようになります。
データの送信と合わせて、必要に応じて Power Automate を利用して通知等も実施ください。
まとめ
今回は、Power Apps で、SharePoint リストの添付ファイルのアップロード有無、添付ファイルの数でアクションを変更する方法について紹介しました。SharePoint リストベースで Power Apps を作成する際は、既定の添付ファイル列を利用することが多いため、参考にんされば幸いです。