UiPath でよく使うけど忘れるあれこれ
いつも調べるので自分自身への備忘がてら。随時追加更新していきます。
UiPath というより VB.Net
の仕様についての内容も多いです( C#
モードの話は基本的にありません)。
ワークフローを途中で終了させる
開発中によく差し込みたくなる。 System.Activities.Statements.TerminateWorkflow
アクティビティを使えば良い。ただ、アクティビティ検索では「中断」「終了」「完了」などではヒットしない。 Terminate で検索するのが正解。
参考
- 【UiPath】処理を途中で終了させる #UiPath - Qiita
- TerminateWorkflow Class (System.Activities.Statements) | Microsoft Learn
文字列連結
&
演算子でOK。 Excel と一緒。
"今日は" & DateTime.Now.ToString("dd") & "日です。"
参考
特定の文字列が含まれているか判定
"Hello, Guys".Contains("ell") '=> True
数値の0パディング(0埋め)
Int32 型の ToString
メソッドでいける。 ToString メソッドはフォーマット関数を兼ねているようで便利。
123.ToString("00000") '=> "00123"
あるいはString型の PadLeft
メソッドによる以下も同じ結果。
123.ToString().PadLeft(5,"0"c)
'or
"123".PadLeft(5,"0"c)
等価比較
=
と ==
どちらでもよい。なのでどちらかに統一してるとよい。
論理演算子の短絡評価 (short-circuit)
よくある言語の &&
と ||
のつもりなら AndAlso
か OrElse
を使う。
-
And
の短絡評価バージョン →AndAlso
-Or
の短絡評価バージョン →OrElse
10 == 10 And Foo ' Foo も評価される
10 == 10 AndAlso Foo ' Foo は評価されない
10 != 10 Or Foo ' Foo も評価される
10 != 10 OrElse Foo ' Foo は評価されない
参考
全角/半角 変換
StrConv
関数。
全角 → 半角
StrConv("ABC123", VbStrConv.Narrow, 1041) '=> ABC123
半角 → 全角
StrConv("ABC123", VbStrConv.Wide, 1041) '=> ABC123
参考
モダンアクティビティを表示
例えば「クリック」アクティビティでも2種類存在する。
UiPath.Core.Activities.Click
UiPath.UIAutomationNext.Activities.NClick
日本語のアクティビティ名は両方とも「クリック」で同じ(アイコンは微妙に違う)だが、後者のニトリ製品[1]みたいなほうはタイムアウトがミリ秒ではなく秒指定だったり微妙に違う。
モダン・アクティビティはデフォルトで非表示になっていることがある。その場合は検索してもヒットしない。
「アクティビティ」 → 「漏斗アイコン」 → 「モダン アクティビティを表示」 が有効になっているか確認。
モダンアクティビティはできるだけ変数を使わずにより GUI だけで完結できるように設計されていたり、新しい機能の強化もモダンアクティビティで活発に行われているようだが、使って見た感じでは一概にモダンアクティビティを使うのが良いというわけでもない、単純な強化版アクティビティという感じでもない。
参考
変数名に日本語は使えるけど数字から始まる名前はNG
プロフェッショナルなプログラマではないビジネスパーソンのほうがユーザが多いゆえか日本語の変数名もよく見かけます。なんなら日本語のほうが意図を明確にしやすいので推奨されることもあるくらいです。
しかし、半角数字から始まる名前は使えません。
参考
- 【UiPath】変数名は日本語でもOK #RPA - Qiita
- 変数に日本語を使ってもいいのでしょうか? - Ask in Your Language - UiPath Community Forum
Discussion