とっちゃん@nyanco! です。
RPAアプリ「UiPath」で待機時間をランダムにする方法の備忘録です。
待機(Delay)の待機時間をランダムにしたい!
UiPathには「待機」という任意の時間、動作を停止させるアクティビティがあります。
停止させたい時間は「時:分:秒」という形式で指定するのですが、この停止時間を「1秒から3秒の間でランダムに」みたいな設定できないかなぁと思って色々調べたのですが見当たらず。
あまりスマートな方法ではないのですが、近い動きをするものを独自で編み出せたのでメモしておきます。
概要
プロジェクトの概要としては、以下のような感じです。
・変数に乱数を「代入」する
・「スイッチ」アクティビティで乱数に応じた待機時間を設定した「待機」アクティビティを設定する
具体的な設定方法は以下をどうぞ。
具体的な設定方法
1. 「変数」を作成
新規でフローチャートを作成し、まずは乱数の入れ物になる「変数」を以下の設定で作成します。
- 名前:test(なんでも良い)
- 変数の型:Int32
- スコープ:フローチャート
- 既定値:設定なしでOK
2. 「変数」に乱数を「代入」
「代入」アクティビティを追加して、以下のように設定。
- 「To」欄:test(1. で作成した変数名)
- 「VBの式を入力してください」欄:
new Random().Next(1,3)
new Random().Next(1,3) というのは乱数を生成する命令で、(1,3) は「1から3までの間」という意味なので、今回の例だと「1」か「2」か「3」いずれかの数値が「変数」に代入されます。
ちゃんと乱数が生成されてるかこの時点で確認するには、「メッセージボックス」アクティビティを追加して、「変数」を表示させてみます。
▼「メッセージボックス」の設定は変数名の指定のみ
「ファイルをデバッグ」で実行すると下記のようなメッセージボックスが表示されるはず。
実行する度に表示される数値が変わってれば成功です!
確認できたら「メッセージボックス」アクティビティは削除します。
3. 「変数」の数値に応じて「スイッチ」で処理を分岐させる
「スイッチ」アクティビティを追加します。
そして以下のように設定します。
- Expression:test(1. で作成した変数名)
- 「新しい case の追加」→「Case値」:1
- 「新しい case の追加」→「Case値」:2
- 「新しい case の追加」→「Case値」:3
あとは、それぞれのCaseに「待機」アクティビティを追加して、それぞれ異なる時間設定をするだけ!
乱数の数を増やせば、その分「スイッチ」のCaseが増やせて待機時間のパターンも増やせます。
まとめ
かなりアナログなやり方ですね ^^;
とはいえ、私の知識ではこの方法しか思いつかなかったです。
「待機」アクティビティの「待機時間」プロパティに乱数を直接入力できたらこんな手間もいらず、「待機」アクティビティ1つで済むと思うのですが。
ニッチなニーズだとは思いますが、困ってる方の参考になれば幸いです。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧
コメント