さて、前回から、
RPAに携わったことにより、
初めて開発をすることになった方が出会うであろう単語や概念について、
簡単にかみ砕いてご案内しよう!というシリーズをスタートしました!
今回は、
「条件分岐」と「例外処理」について、まとめてご紹介したいと思います!
2.条件分岐
条件分岐とは、
「決められた条件式によって、そのあとの処理を変えること」
です。
イメージとしては、
「今履いている靴を飛ばして、もし表向きに落ちたら右の道、裏返しに落ちたら左の道、それ以外なら元の道を引き返そう」
という場合のことです。(大人になってから靴飛ばしってあまり見かけませんが)
つまり今回この後の処理は、
条件式①=「表向きに落ちた」⇒右の道を進む
条件式②=「裏返しに落ちた」⇒左の道を進む
それ以外=「表でも裏でもない向きで落ちた」⇒元の道を引き返す
となります。
この例えでピンと来ない方、では、こちらはどうでしょう。
こちらは、以前公開した記事『業務フローチャートを作ろう!』でご紹介したフローチャートです。
この場合に条件分岐と言えるのが、「出たか」の部分。
Yesなら「話す」、Noなら「留守電を入れる」と、
条件式がもたらす値によって、そのあとの処理が分かれていますね。
さらには、Excel上で、IF関数を使ったことがある方はいらっしゃいますか?
例としてIF関数「B1=IF(A1=0,"○","×")」の処理を日本語に訳すと、
「B1セルの値は、A1セルの値が0なら○、それ以外なら×とする」
となります。
条件分岐の考え方はExcelのIF関数とも同じなので、
今まで知らず知らずのうちに、条件分岐を使っていたという方がいらっしゃるかもしれません。
このように条件分岐とは、
「もし~(条件式)ならA、そうでなければB」
という文章で表現ができる処理のことなのです。
では、実際にRPAではどのように使うか、
今回は国産RPAツールとして有名なWinActorの開発画面を見ながら解説しましょう。
上記は、先ほど例に挙げたIF関数を簡単に実装したものです。
このフローチャートも上から順に実行されますので、
指定ファイルのA1セルの値を取得(値の取得)し、
取得した値が0であれば○を(「0である:○」)、0以外であれば×を(「0ではない:×」)、
それぞれB1セルに設定する
という流れになっています。
「A1セルの値は0であるか」という分岐部分に、IF関数の「A1=0」にあたる条件式を設定したのです。
とても簡単な例でご紹介しましたが、このような処理を条件分岐といいます。
さて、いきなりですが、ここまでの内容を忘れる前に、次の用語の解説に移ります。
3.例外処理
例外処理とは、
「本当は起こってほしくないけれど、
万が一問題が起こってしまった時に実行する処理を前もって決めておく」
ことです。
今回は早速、実際のWinActorの開発画面をご覧いただきましょう。
これが、WinActor的な例外処理です。
オレンジ色の「正常系」から下のフロー部分をよーくご覧ください。
ここに、先ほど条件分岐の例として使用した処理をそのまま入れています。
つまりこの場合、
本当は、指定ファイルのA1セルの値を取得(値の取得)し、
取得した値が0であれば○を(「0である:○」)、0以外であれば×を(「0ではない:×」)、
それぞれB1セルに設定したい。
ということになります。
しかし、途中でこの処理の最中に問題が発生した時、
例えば、このExcelファイル自体が存在せず、値の取得も設定もできない!
としたら、「異常系」の出番です。
今回は、「例外メッセージの表示」という処理を実行することにしました。
その実行結果がこちらです。
上記青く反転している、「例外メッセージ表示」という処理を実行中であるときに、
ファイルがなかった旨のダイアログメッセージが出ました。
このように、
通常起こってほしくないことが起こったときに行う処理を前もって決めておく場合に、
例外処理を使うのです。
ピンと来ていない方のために、例え話をしましょう。
避難訓練を想像してみてください。
(この例え話こそ「本当は、説明がうまく伝わってほしい」という処理に組み込んだ、
もしここまでの説明にピンと来ていない方がいた場合の例外処理です!)
当たり前ですが、
毎日わたしたちが安全安心でお仕事や生活ができれば問題はない(正常系)ですよね。
しかし、万が一災害が起こってしまったらどうするのか(異常系)
を決めておかないと、いざというときにもし逃げ遅れてしまったら大変です。
RPA開発でも、イレギュラーに対応するために、例外処理を使うのです。
いかがでしたでしょうか。
条件分岐と例外処理、今回は2本立てでお送りしました。
まとめてご紹介した理由は、両者の本来の目的は異なるものですが、
「○○の場合は△△を実行する」という点は変わらないからです。
この2つをうまく使いこなして、保守性の高いロボットを作れるようになりましょう!
さて次回のRPA開発用語特集は、
「サブルーチン」
です!お楽しみに!
私たち株式会社電算システム(DSK)は、
RPAによるロボット開発を請け負うだけでなく、
ご所望であれば、RPAで開発を初めておこなう皆様のために、
皆様のスキルに合わせてセミナーを実施することも可能です。
是非、お気軽にご相談ください!
0コメント