本連載では、SharePointを活用するときに、よくある質問と回答を紹介します。
質問:Power Appsアプリの開始画面を条件によって切り替えたい
Power Appsアプリの開始画面を条件によって切り替えるにはどうすれば良いですか?
回答:URLパラメータを利用することで解決可能です
URLパラメータを利用することで解決可能です。
Power Appsアプリの開始画面には、「StartScreen」プロパティで任意の1画面のみを設定可能です。仮に「一覧画面」を指定したら、他の画面を開始画面とすることはできません。
しかし、実際の運用では「通常は一覧画面をデフォルト表示するが、担当者にメールするときは特定のアイテムの編集画面を直接開かせたい」など、運用フローに応じた開始画面を表示したい場合がでてきます。
今回は、その解決手段として、Power Appsのアプリのリンクにパラメータを設定し、パラメータに応じて起動画面を切り替える方法を紹介します。
実装イメージ
今回の紹介例では、次の2つのスクリーンを用意してURLパラメータによってページの出し分けを行います。わかりやすく2つの画面に対して次のような名称を設定します。
画面の初期値 | 設定する画面名 |
---|---|
Screen1 | サンプル表示スクリーン |
Screen2 | パラメータで開くリンク先 |
準備
アプリの準備を行います。
ホームタブで「ページデザインで開始する」をクリックします。
「空のキャンパス」をクリックします。
「新しい画面」をクリックして画面を2つにします。
今回は次のような
「サンプル表示スクリーン」と「パラメータで開くリンク先」としています。
画面の初期値 | 設定する画面名 | 配置するオブジェクト |
---|---|---|
Screen1 | サンプル表示スクリーン | テキストラベル |
Screen2 | パラメータで開くリンク先 | テキストラベル |
手順
まずは、URLパラメータを取得し、その値を表示する仕組みから実装します。
1.メニューにある「App」をクリックし、プロパティのドロップダウンをクリックして「OnStart」を選択します。
2.下記の関数を記述します。
Set(変数名,Param(“パラメータ名”))
具体例:Set(status,Param("テキスト"));
関数名「status」としてパラメータの「テキスト」を定義します。
ここで定義する「テキスト」は、パラメータをURLに入力する際の「&テキスト=○○」にあたる部分です。
3.キャンパスアプリのスクリーンを選択し、パラメータを表示するテキストラベルを追加します。
4.テキストラベルのプロパティ「Text」に下記を記載します。
“表示:” & status
5.右上の共有アイコンからアプリのリンクを確認します。
6.確認したWebリンクをコピーします。
7.リンクの後ろに 「&テキスト=サンプル」 を入力してアクセスします。
成功すると「サンプル」のテキストがアプリに表示されます。
続いて、URLパラメータを用いて表示するページの出し分けをする設定を追加します。
8.ツリービューにある「App」選択して「StartScreen」プロパティを選択します。
9.プロパティに下記の処理を記述します。
If(Param("[パラメータ名]") = "[パラメータに入るテキスト]", [条件に該当する際の画面], [条件に該当しない時の画面])
具体例:If(Param("テキスト") = "リンク先", パラメータで開くリンク先,サンプル表示スクリーン)
パラメータで入力されたテキストが「リンク先」の時、画面「パラメータで開くリンク先」を表示し、それ以外のテキストの場合には「サンプル表示スクリーン」を表示するよう設定しています。
10.リンクの後ろにパラメータ「&テキスト=リンク先」を付けた形でアクセスします。成功すると、設定した画面でアプリが表示されます。
まとめ
Power Appsでパラメータを利用する方法と、それを活用してPower Appsの開始画面を指定する方法を紹介しました。
申請アプリなどにおいてフローに応じて開始画面を切り替えたい時や、Power Automateと連携した通知メールに記載するアプリのリンクなどに活用しましょう。ユーザーがアプリにアクセスした際、スムーズに作業対象のアイテムを参照できるため、作業負荷を減らすことにつながります。