UiPath Developer Community 第6回ワークショップ で聞いてきた内容の覚え書き。。
今回のワークショップで聞いてきた話のうちなかなか印象的だったのは、Parallelアクティビティの使い道について。処理の効率化のための並列実行のアクティビティよね?くらいに思ってたんですが「出現するタイミングが不定のポップアップを処理する」というTIPSの紹介がありましたので、メモっときます。
Parallelアクティビティの使い道について
たとえばメモ帳を開いてファイル保存するばあい、ファイル名を固定的にすると、初めはそのまま保存できますが、2回目以降は「上書きする?」ってダイアログが表示されます。この「出たり出なかったりするダイアログ」をParallelアクティビティで処理すれば、処理の見通しがよくなるよねって話です。
やってみる
具体的にはこんな感じ。
Parallelアクティビティのうち、左の処理はメモ帳を開いて保存する処理を記録しています。
右の処理は、上書きする?ってダイアログが出たときに「はい」をクリックするようにしてあります。
また、Parallelアクティビティは通常、両方の処理が完了するまで待つようになっていますが、「CompletionCondition」をTrueに設定することで、片方の処理が終了したら、残りの処理はキャンセルされるようにしてあります。
こうすることで
- 左の処理がおわってファイルが何事もなく保存されれば、右の処理はキャンセルされる。
- 左の処理が「保存する?」ってダイアログを表示すれば(それで左の処理は待ちになる)、右側のボタン表示待ちになっているほうが反応して、保存を押してくれる。
となるわけですね。
注意点としては、先に終了したほう"じゃない"ほうは、途中で処理がキャンセルされます。つまり、右で保存ダイアログをクリックすると左右の処理はまた共に動き出しますが、左のメイン処理でまだまだ処理しようとしても、右が終了したら左の処理が実行されないので、その点はご注意下さい。
ソースコード
ソースコードはココに置いておきました。
https://github.com/masatomix/uipath_sample/releases/tag/fix
関連リンク
これからちょくちょく、UiPath関連について書いていこうとおもいます。よろしくお願いします。