Power Automate Desktop(PAD)で変数が数値かどうか判定する方法について解説します。
数値か判定する変数の設定
まず、「変数の設定」アクションを追加して、数値かどうかを判定するための変数を作成します。変数は”True”で初期化しておきます。
「テキストを数値に変換」アクションを追加
次に、「テキストを数値に変換」アクションを追加します。
「変換するテキスト」に、数値かどうか判定したい変数を設定します。
エラー時アクションの設定
「テキストを数値に変換」アクションの左下にある「エラー発生時」を押します。
「再試行ポリシー」は固定にし、「新しいルール」を押します。
「新しいルール」を押したら、「変数の設定」を選択します。
デフォルトではNewVar2という変数が設定されていますが、{x} を押して、先ほど作成した IsNumber を設定します。
「宛先」に False を設定します。
そして、「フロー実行を続行する」を選択し、例外処理モードは「次のアクションに移動」を設定します。※この設定を忘れると例外エラーが発生するので注意
If を使って数値のとき・数値でないときの処理を分岐させる
条件式 If を使って、IsNumberの値がTrueなら数値、Falseなら数値でないという風に処理を分岐させます。
次に、Else If を、If と End のあいだに追加します。
IsNumber が False のときという条件に設定します。
今回の例では、変数IsNumberが数値のときは「数値です」、数値以外のときは「数値ではありません!」とメッセージを出すようにしました。
実際にフローを実行してみる
では、実際にフローを実行してみます。
変数が数値の場合、isNumberはTrueとなり、「数値です」と表示されます。
変数が数値以外の場合、isNumberはFalseとなり、「数値ではありません!」と表示されます。
注意点
数値かどうかを判定するための変数 IsNumber の値 True/False は、正確なブール型ではなく、テキスト型です。そのため、フロー内で “true” (先頭が小文字)で初期化したあと、Ifのなかで “True”(先頭が大文字)かどうかで判定するとうまく判定できません。
trueでもTrueでも、どちらでもOKですが、フロー内で統一するようにしましょう。
まとめ
今回は、Power Automate Desktop(PAD)で変数が数値かどうか判定する方法について解説しました。
参考にしたのは、Microsoft公式のサイトです。>変数が数値かどうかを確認する
内容的にはほとんど同じですが、ところどころ初心者の方には分かりづらいかも?という点があったので補足を入れつつまとめました。
当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。
コメント