【できるUiPath】は注目のRPAサービス「UiPath」を使って、RPAのワークフローを作るための基本操作から、実際に業務をRPA化する実践テクニックまでを解説する連載です。
過去の記事一覧【できるUiPathまとめ】
エラー発生時の設定
まれに表示されるポップアップ画面に対応するには
まれに表示されるダイアログボックスは、ワークフローの実行を止める可能性があるやっかいな存在です。その対処方法を見てみましょう。
必ず発生するわけではない処理は[並列]で対応
自動化する処理によっては、特定の条件を満たしたときだけメッセージが表示されることがあります。
こうした処理に対応するには、[並列]を使って、通常の処理と、ダイアログボックスに対応する例外的な処理が同じタイミングで実行されるようにすることで対処できます。
[並列]
複数の処理を記述することで、同じタイミングで異なる処理が実行されます。
[条件]
[並列]のプロパティにある[条件]を使って処理を終了させる条件を指定できます。
HINTどんなシーンで使うの?
例えば、Excelファイルであれば、次のようなときにダイアログボックスが表示されることがあります。こうしたファイルを扱う可能性がある場合は、[並列]で表示されたメッセージへの対処を記述しておくといいでしょう。
- ファイルが読み取り専用で開くように設定されているとき
- 共有フォルダーのファイルがほかのユーザーによって開かれているとき
- マクロ有効ブックにデータを書き込んで保存しようとしたとき
HINTこのレッスンで使う変数
このレッスンでは、次の変数を使いますワークフロー内で登場する変数の用途を確認しておきましょう。
celDat
型:GenericValue
用途:Excelファイルから読み取った値を格納する
chkFlag
型:Boolean
用途:処理の成否をチェックして[並列]を抜ける
HINT「Boolean」って何?
Boolean(ブーリアン)は、「True(真)」と「False(偽)」の2つの値のみを格納する型です。値を比較したり、分岐条件をチェックしたいときなどに利用します。
1[Excelアプリケーションスコープ]を追加する
2[セルを読み込む]を追加する
3読み取ったセルを変数に格納する
HINTこのレッスンで使うExcelファイルを用意するには
このレッスンで使うマクロ有効ブック「dialog_macro.xlsm」は、HINT!「マクロ有効ファイルを作成するには」を参考に作成できます。もちろん、別のダイアログボックスが表示されるファイルやアプリを使って、処理を試すこともできます。
HINT厳密な意味での並列ではない
[並列]は複数の処理を実行するアクティビティですが、それぞれの処理が完全に同時に実行されるわけではありません。少しずつタイミングをずらしながら複数の処理が実行されます。
このため、複数の処理を完全にタイミングを合わせて実行することはできません。
HINTExcelファイルを読み取り専用で開くには
4読み取った値を表示する
5[並列]を追加する
6クリックするダイアログボックスを表示する
HINTダイアログボックスが表示されないときは
このレッスンで使用しているExcelファイルは、ランダムでダイアログボックスを表示します。このため、手順6でダイアログボックスが表示されないことがあります。
ダイアログボックスが表示されるまで、何度かワークフローを実行してみましょう。
HINT処理によって[並列]の配置場所が変わる
このレッスンの例で使っているExcelファイルは起動時にマクロが実行されるため、ファイルが開く前にダイアログボックスが表示されます。
このため、[並列]の中に、[Excelアプリケーションスコープ]と[クリック]を配置して、Excelファイルを開く処理と、ダイアログボックスで[OK]をクリックする処理が、同じタイミングで開始されるように設定しています。
Excelファイルが開いた後にマクロが実行される場合など、ダイアログボックスが表示されるタイミングがファイルを開く処理よりも後になるときは、[Excelアプリケーションスコープ]内に[並列]を配置しなければならない場合もあります。
7[クリック]を追加する
8クリックする場所を指定する
HINT実際にクリックしたい画面でクリック先を指定する
クリック先を指定するときは、クリック先のアプリや画面、ボタンなどを正確に指定する必要があります。
手順7~8でクリック先を指定するときは、必ず、実際に処理を実行する画面を表示した状態で、クリック先を指定してください。似たような画面や、[OK]と表示されたボタンでも、実際の画面と異なれば処理を実行できません。
9[代入]を追加する
10変数の型を変更する
HINT[並列]に中断される可能性がある処理があるときは
11フラグの初期値を指定する
12処理が完了したときのフラグを設定する
13[並列]の条件を設定する
14実行結果を確認する
HINT[条件]が「True」になると処理を抜ける
[並列]の[プロパティ]パネルにある[条件]は、[並列]処理を終了させる条件を指定する項目です。入力した変数が「True」になった時点で、[並列]のすべての処理を終了します。
HINTそのほかのアプリにも応用できる
ここでは、Excelを例に説明しましたが、一般的なアプリを自動化する場合でも、同じような対応が必要になることがあります。[並列]を使って、例外的な処理も実行できるようにしておきましょう。
HINTマクロ有効ファイルを作成するには
Point例外的な処理は[並列]で配置する
ワークフローの途中に、実行されるかどうかが分からない処理があると、そこで処理が中断してしまう可能性があります。こうした例外的な処理は、[並列]を使って記述し、万が一、実行されなかったときでも、ほかの処理が一緒に中断されないようにしておきましょう。
並列で2つの処理が記述されていますが、ダイアログボックスが表示される場合は両方の処理が実行され、ダイアログボックスが表示されないときは片方(このレッスンではExcelアプリケーションスコープの処理)だけが実行されます。片方しか実行されないことを想定して、フラグを使って[並列]処理を抜けられるようにしておくのも重要です。
提供:UiPath