SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Power Automate Desktopチュートリアル

Windows10の無償デスクトップ自動化ツール「Power Automate Desktop」で条件分岐を実装してみよう

Power Automate Desktopチュートリアル 第2回


  • X ポスト
  • このエントリーをはてなブックマークに追加

[If]でファイルを選択しなかった場合の処理を実装する

 ファイルを選択しなかった場合にエラーとなるのは避けたいので、その場合も正しくアプリが終了するよう、ファイルが選択された場合にだけ処理が実行されるようにしてみましょう。

[1][If]アクションを配置する

 [条件]-[If]アクションを、ワークスペースの[ファイルからテキストを読み取ります]アクションの前に配置します。

図11:Ifの配置
図11:Ifの配置
図12:Ifの設定
図12:Ifの設定

  パラメーターの選択画面が開くので、

  • [最初のオペランド]に[%SelectedFile%]と入力([{x}]をクリックして、選択することでも入力できます)
  • [演算子]で、[空でない]を選択

 して、[保存]ボタンをクリックします。

[2]アクションを移動する

 ワークスペース上の[ファイルからテキストを読み取ります]アクションを右クリックし、表示されたコンテキストメニューから[上に移動]を選択します。If~Endブロックにアクションが移動したことを確認してください。

図13:上に移動
図13:上に移動を選択

 同様に、[メッセージを表示]アクションも[上に移動]し、If~Endブロック配下に移動してください。ワークフローが以下のような状態になっていればOKです。If~Endに囲まれたアクションは、Ifに設定した条件が成り立つときにのみ実行されます。

図14:Ifの内側にアクションを移動
図14:Ifの内側にアクションを移動

 なお、[上に移動]操作はマウスによるドラッグ&ドロップ操作でも可能です。

[3]フローを実行する

 フローを実行して、ファイル選択ダイアログで[キャンセル]ボタンを押してみましょう。今度は、ファイルを選択しなかった場合もエラーにならずに、フローが正常終了します。

ファイルを選択しなかった場合の処理フローを追加

 現時点では、ファイルが選択されなかった場合はそのままフローが終了してしまいます。選択されなかった場合には、なんらかのメッセージを表示するのがより親切でしょう。以下では、その方法を示します。

[1][Else]アクションを配置する

 [条件]-[Else]アクションを、ワークスペースの[メッセージを表示]と[End]の間に、ドロップします。[Else]は、Ifの条件が成り立たない場合に、[Else]~[End]に配置したフローを実行します。

図15:Elseアクションの配置
図15:Elseアクションの配置

[2][メッセージを表示]アクションを配置する

 [メッセージボックス]-[メッセージを表示]アクションを、[Else]と[End]の間に配置します。

図16:条件不成立の場合のアクションを配置
図16:条件不成立の場合のアクションを配置
図17:ファイルが選択されなかった場合のメッセージ
図17:ファイルが選択されなかった場合のメッセージ

 パラメーター選択画面が表示されるので、[表示するメッセージ]で[テキストファイルが選択されませんでした。]と入力して保存をクリックします。

[3]フローを実行する

 フローを実行して、ファイル選択ダイアログで[キャンセル]ボタンを押してみましょう。今度はダイアログ上に[2]のエラーメッセージが表示されることが確認できます。

図18:ファイル未選択時のメッセージ表示
図18:ファイル未選択時のメッセージ表示

[Note]処理を複数に分岐する

 [If]ブロックの配下には、[Else if]ブロックを配置することで、複数の条件を列記することもできます。例えば以下は、年齢を入力してもらって、それに応じたメッセージを表示するフローです。

図19:Else ifを使用したフロー
図19:Else ifを使用したフロー

 [Else if]アクションの設定そのものは[If]アクションのと同じなので、上の図を手掛かりに自分で一から作成してみるのもよい練習です。

 ちなみに、[If]アクションの配下に、さらに[If]アクションを配置することも可能です。入れ子にすることで、より細かな分岐を表現できます。

次のページ
変数の値に応じて処理を分岐する

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Power Automate Desktopチュートリアル連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14665 2021/11/01 12:20

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング