Power Automate for Desktopのカスタムフォームについて解説します。
カスタムフォームは、入力ダイアログの拡張版のようなもので、入力ダイアログにテキストボックス、ドロップダウンメニュー、チェックボックス、ボタン、ラベルなどのさまざまなコントロールを含めることができます。
Power Automate for Desktopのカスタムフォームを使うことで、実行時に、より複雑な条件などを入力できるようになります。
今回は、2つの数値の和と差を求める、ちょーカンタンな電卓のようなフローを作って、カスタムフォームの使い方を解説していきます。
カスタムフォームの作成
アクションの「メッセージボックス」ー「カスタムフォームを表示」をドラッグ・アンド・ドロップします。
「カスタムフォームを表示」の設定画面が表示されるので「カスタムフォームデザイナー」をクリックします。
「カスタムフォームデザイナー」が表示されるので、任意のタイトルを入力します。
左のフォーム要素の「テキストブロック」をダブルクリックします。
フォーム構造とプレビューフォームにテキストブロックが表示されるようになり、右側のフィールドではこのテキストブロックの内容を設定することができるようになります。
ここで、右側のフィールドでテキストを「1つ目の数値」を入力します。すると、プレビューフォームのテキストにも反映するようになります。
続いて、左のフォーム要素の「数値入力」をダブルクリックすると、こちらもプレビューフォームにテキストブロックが表示されるようになりました。
ここで、IDの設定を「Num1」、既定値を「0」と設定します。
同様に、「テキストブロック」と「数値入力」をもうひとつずつ追加し、テキストブロックには「2つ目の数値」と入力し、数値入力のIDは「Num2」、既定値は「0」と入力します。
次に、フォーム要素の「送信」をダブルクリックして、IDを「btnWa」、タイトルを「和」とします。
さらに、フォーム要素の「送信」を追加して、IDを「btnSa」、タイトルを「差」とします。
これでカスタムフォームの設定は終了なので、「完了」ボタンをクリックします。
「カスタムフォームを表示」の設定画面が表示されるので「保存」をクリックします。
ここで一度実行してみると、次のような入力ダイアログが表示されることがわかります。
計算処理の実装
それでは、続いて和と差を求める計算処理を作っていきます。
カスタムフォームに入力された値は「カスタムフォームを表示」で生成された変数である「%CustomFormData%」とカスタムフォーム作成時に設定したIDを組み合わせることで取得することができます。
具体的には、1つ目の数値とした値は「%CustomFormData.Num1%」、2つ目の数値とした値は「%CustomFormData.Num2%」と「.(ドット)」で連結して取得します。
なお、この値はテキストとして取得されるので、計算するために数値に変換する必要があります。
このために、アクションの「テキスト」-「テキストを数値に変換」をドラッグ・アンド・ドロップします。
変換するテキストとして「%CustomFormData.Num1%」、生成された変数として「%TextAsNumber1%」を設定します。
アクションの「テキスト」-「テキストを数値に変換」をもうひとつ追加して、今度は変換するテキストとして「%CustomFormData.Num2%」、生成された変数として「%TextAsNumber2%」を設定します。
続いて、入力ダイアログで「和」ボタンがクリックされたか、「差」ボタンがクリックされたか判断するための処理を追加していきます。
カスタムフォームで、どのボタンがクリックされたかは「カスタムフォームを表示」で生成された変数である「%ButtonPressed%」で判断することができ、この変数にはクリックされたボタンのIDが入ります。
どのボタンをクリックしたかによって処理を分けるため、アクションの「条件」ー「If」をドラッグ・アンド・ドロップします。
IFの設定画面では、最初のオペランドに「%ButtonPressed%」、2番目のオペランドに「btnWa」とすることで「和」ボタンがクリックされた場合にのみ処理を実行する条件が設定できます。
IFとEndの間にアクションの「メッセージボックス」ー「メッセージを表示」をドラッグ・アンド・ドロップします。
「メッセージを表示」の設定画面が表示されるので、タイトルとして「計算結果」、表示するメッセージとして「%TextAsNumber1 + TextAsNumber2%」と入力します。
同様に今度は「差」ボタンがクリックされた場合の処理を実装します。
IFの設定画面では、2番目のオペランドに「btnSa」と設定し、表示するメッセージとして「%TextAsNumber1 – TextAsNumber2%」とするところが異なります。
以上で計算処理の実装は終了です。
実行
それでは、実行して実際の動作を確認してみます。
実行するとカスタムフォームが表示されるので、任意の数値を入力して、まずは「和」ボタンをクリックします。
すると、計算結果として、入力した数値の和が表示されます。
また、再度実行して、今度は「差」ボタンをクリックしてみると、入力した数値の差が表示されました。
まとめ
以上のように、 Power Automate for Desktopのカスタムフォームを使うことで、多くの項目を入力したり処理を条件分岐させることもできるようになります。今回説明した以外にもドロップダウンメニュー、チェックボックスなどいろいろな入力フィールドを設定することができます。複雑な条件も可能になるので、是非いろいろと試してみてください。