※この記事は2023年10月にシナリオ実行した結果をもとに記述しています。
はじめに
こんにちは。ティーマネジメントのシステム担当ムギです。 以前WinActor®で使用できる分岐のノードの基本的な仕様と[分岐]ノードの具体的な設定をご紹介しました。 ※以前の記事はこちら↓ WinActor®分岐処理を使ってみよう① WinActor®分岐処理を使ってみよう② 今回は [多分岐]各ノードのプロパティ画面を確認しながら 具体的な設定や動作をご紹介していきたいと思います。
[多分岐]ノードを使ってみよう
[多分岐]ノードは基本仕様編でご紹介した通り、複数の条件を指定することができます。 例えば、○○の場合は処理1を実行、△△の場合は処理2を実行、 どちらにも当てはまらない場合は処理3…のような場合は[多分岐]を使用します。 [分岐]ノードが論理式(Yes/No)の2つの分岐であったのに対し、 [多分岐]は3つ以上の条件に従って分岐する場合に使用するものだと思っていただければ大丈夫です。
【WinActor®の分岐ノード】
・多分岐:複数条件判定 複数指定された条件のうち、当てはまるものがあるかで判定 指定された条件に当てはまらない場合の分岐がデフォルトで存在する 今回は、今日が何曜日か?を判定して、「月・水・金」「火・木」「月火水木金以外」で3つ分岐し、 適応するダイアログを表示されるシナリオを作ってみましょう。 全体図は以下のようになります。 日付から曜日を取得し、変数「曜日」に格納された値を基準に条件分岐をおこなう流れです。 ※日付取得、曜日判定、ダイアログの細かい設定に関しては説明を割愛させていただきます。
分岐の条件設定
さて、分岐の条件設定についてみていきましょう。 [多分岐]ノードをダブルクリックしてプロパティ画面を開き、 名前や分岐名を分岐の内容がわかりやすいように変更しておきます。
プロパティ画面を見て、あれ??と思われた方がいらっしゃるかもしれません。 完成図では「月・水・金」「火・木」「以外」で3つ分岐していましたが、 プロパティ画面で設定できる条件は2つになっています。 これは、[多分岐]のノードには「いずれの条件にも当てはまらない場合」の処理を 組み込むための枠がデフォルトで用意されているためです。 「いずれの条件にも当てはまらない場合」は「以外」という枠となります。 指定条件に当てはまらない場合はすべて「以外」の分岐をたどりますので、条件を指定する枠は存在しません。 また、「以外」は分岐名を変更することはできないのでご注意ください。 今回はデフォルトで用意されている2つの条件を指定しますが、 分岐条件は「追加」「削除」ボタンで増減させることもできます。 指定したい分岐内容に合わせて設定してください。
それでは、条件式の設定をおこないましょう。 まずは、「曜日が月・水・金」の場合の条件を設定します。 条件No.1(月・水・金)の右側、「条件式設定」からプロパティ画面を開きます。
「曜日が月・水・金」つまり、
「曜日が月曜日」または「曜日が水曜日」または「曜日が金曜日」であるという条件を意味します。
そのため、左端の論理演算子「条件」は「OR」に変更します。
「OR」に変更すると右側に「+」と「×」ボタンが追加されますので、「+」で条件を追加していきます。
【設定内容】
・最初の論理演算子は「OR」に変更する
・以下の条件設定①~③の内容を設定する
【条件設定①】(曜日が月曜日)
論理演算子:条件
値1:変数「曜日」
比較演算子:等しい
値2:値⇒月
【条件設定②】(曜日が水曜日)
論理演算子:条件
値1:変数「曜日」
比較演算子:等しい
値2:値⇒水
【条件設定③】(曜日が金曜日)
論理演算子:条件
値1:変数「曜日」
比較演算子:等しい
値2:値⇒金
同じように条件No.2(火・木)の設定おこなっていきましょう。
設定内容は条件の曜日を変えるだけで先ほどとほぼ同じです。 【設定内容】 ・最初の論理演算子は「OR」に変更する ・以下の条件設定①~②の内容を設定する 【条件設定①】(曜日が火曜日) 論理演算子:条件 値1:変数「曜日」 比較演算子:等しい 値2:値⇒火 【条件設定②】(曜日が木曜日) 論理演算子:条件 値1:変数「曜日」 比較演算子:等しい 値2:値⇒木
条件が指定できました。 これで曜日が「月火水木金」以外の場合(土日の場合)は「以外」の分岐をたどります。
分岐中の処理を組み込む
条件が指定できましたので、各条件で実行させたい処理を対象の枠の中に組み込んできましょう。 今回は以下のようにダイアログを表示させる設定をおこないます。 ・『変数「曜日」が「月または水または金」と等しい』→「今日は月・水・金」 ・『変数「曜日」が「火または木」と等しい』→「今日は火・木」 ・『変数「曜日」が「月火水木金」いずれにも等しくない』→「今日は土・日」 それぞれの分岐の下の枠に[待機ボックス]ノードを追加し、対応するメッセージを表示させます。
分岐中の処理内容も組み込むことができました。
実行してみよう
実行すると、変数「曜日」が「火」という結果となりましたので、 条件分岐は2番目の分岐『変数「曜日」が「火または木」と等しい』が当てはまります。 WinActor®は2番目の条件をたどり、「今日は火・木」のダイアログが表示されていることが確認できました。
おわりに
今回は[多分岐]ノードの具体的な設定例をご紹介しました。 3つ以上の条件のうち、当てはまるものがあるかで判定する場合は[多分岐]ノードを使用し、 実行させる処理を変更します。 指定した条件に1つも当てはまらない場合は「以外」の分岐をたどることも重要なポイントでしたね。 指定した条件に誤りがあると想定外の分岐をたどってしまう可能性もございますので 設定したらすべての条件でテストおこなうようにしましょう。 今回でWinActor®の分岐に関するご紹介は一旦最後となります。 最後までお付き合いいただきありがとうございました。