13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

もしかして意外と知られてない?UiPathの機能

Posted at

はじめに

・UiPath使用歴:約7ヶ月ぐらい
UiPath関係の記事を見てた時に「あれ、もしかしてこの機能って知られてない?」って思う事がちょいちょいあったので
備忘録もかねて残しておきます

WriteCellによる新規シート作成

「Excelで任意の名称をつけた新規シートを作成したい」っていう場面は結構あると思います。
公式のアクティビティガイドにも載ってますが、
存在しないシートに対して書き込み処理を行うと、勝手に新規シートを作ってくれます。
https://activities.uipath.com/lang-ja/docs/write-cell

サンプル_新規シートを作る

image1.png

こうすると以下のようにシートが追加されます
image2.png

注意点としては、新規で作成されるシートは
既存シートの左側に作成されます

なので以下のように連続でシートを作成すると、左に向かって増えていきます。
image4.png
image3.png

実際に作る時は右に向かって増えるレイアウトが多いと思うので
作った後に「移動またはコピー」(Alt+E M)を使って、末尾に移動させる処理を組みこむと良い感じになります。

On Element Appearを使った待機処理

いわゆるウィンドウなどが表示されるまで待ってくれるのがこのアクティビティです。
設定値をうまく変える事で、上書き保存ダイアログなど、特定条件の場合に表示される項目についても
良い感じに対応できるようになります。

サンプル_メモ帳の表示を待つ

簡単な例だとこんな感じになります。
image5.png
image7.png

このアクティビティで重要なのが以下のオプション項目
image6.png

RepeatForever
Trueの場合、On Element Appear内に配置したアクティビティを「ずっと」繰り返します。
表示の待機など、一発限りの場合は必ずFalseにしてください。そうしないとロボットがこのアクティビティで止まります。
(むしろTrueで使う場面が全くないけど、何故かデフォルト値がTrueという謎仕様)

WaitActivate
要素がアクティブになるまで待機させるかのオプションになります。
アクティブにならないと操作を受けつけない、っていう場合にこれを付けておくといい感じで待ってくれます。

WaitVisible
要素が「画面上に」表示されるまで待機させるかのオプションになります。
意外と重要で、上記のメモ帳の例だと
このオプションのチェック無しだと最小化状態でも存在している扱いになったりします。

そして最大の注意点として、ウィンドウの下部が隠れている場合は非表示扱いになります。
なので以下のような状態だと、そのままTimeOutが起きます。
image13.png

サンプル_不特定に表示されるウィンドウへの対応

ContinueOnErrorオプションを活用する事で、
表示されるかどうか分からないウィンドウにも対応できます。
image14.png

image15.png

ContinueOnErrorをTrueにしておくと、
非表示の場合はTimeOut値を超えた場合、そのまま次処理に行ってくれます。
「いちいちElementExistsで判定してIFで分岐させるのが面倒……」っていう時に活躍してくれます。

最後に

とりあえず今後も適当にネタが出来たら書いていこうと思います。
ちょっとでも誰かの助けになれば嬉しいです。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?