きな粉もち.net

.NET関連仕事に携わっています。OSSのソースを読んで気がついたことを中心に呟いたりブログに投稿したりしています。最近はUiPathを使ったRPAも研究中。気軽にフォローやツッコミよろしくおねがいします! Gitはここを使っています https://github.com/kinakomotitti

UiPath Studio × Libraryパネル × 使い方

この記事の目的

この記事では、
UiPath Studio のLibraryパネルの使い方をまとめること
を目的としています。

アジェンダ

  1. Libraryって?
  2. どうやって使う?
  3. 使ってみた

本題

Libraryって?

UiPath Studioガイドには以下のように書かれています。

[Library] パネルでは、オートメーションを簡単に再利用できます。項目をすばやく見つけられるように検索ボックスが付いています。
既定では複数のサンプルやスニペットが表示されますが、[Add Folder] ボタンをクリックしてハードディスクドライブからディレクトリを選択することで、独自に追加することができます。

規定で、サンプルとなるLibraryが登録されているとのことなので、中身を見てみました。
以下がデフォルトで設定されているLibraryです。
f:id:kinakomotitti:20180326222123p:plain
思ったよりたくさん入っていました(´・ω・`)

どうやって使う?

UiPath Studioガイド*1では、Libraryの登録と削除の方法について言及がありますが、実際の使い方が書かれていないようでした・・・
いくら便利でも、使い方わからないと使えないじゃん・・・(書いてあったらごめんなさいm(_ _)m)

とか思っていましたが、使い方は非常にシンプルでした。
「アクティビティ」と同じように、ドラッグアンドドロップで使えます。

静止画では伝えにくいですが、好きなLibraryをドラッグして・・・
f:id:kinakomotitti:20180326222139p:plain

好きな場所にドロップ!
f:id:kinakomotitti:20180326222144p:plain

張り付きました!
オリジナルのアクティビティ集として使えそうですな。
UiPathでオリジナルのアクティビティを作ろうとしたら、Windows workflow Foundationなるもので独自にカスタムアクティビティを作る必要があるとどこかで読んだ気がします。
それよりは手軽に作れそうです。
アクティビティのやりくりでどうしてもできない場合のみカスタムアクティビティを作っていくのが良いと思います。

使ってみた

実際に使ってみた!

とはいっても、貼り付けるだけなのですが・・・
「Filter Collection using LINQ」を例に見ていきます。
先ほど貼り付けたときは、以下のようになっていました。
f:id:kinakomotitti:20180326222153p:plain
対象のシーケンスをダブルクリックしてステップインしてみます。
f:id:kinakomotitti:20180326222157p:plain
何やら実装されているようです。
また、以下のように、このシーケンス内で有効なローカル変数がすでに設定されていました。
f:id:kinakomotitti:20180326222207p:plain
処理としては、以下のようなものです。
Step1)names配列に、人の名前のような文字列を設定
f:id:kinakomotitti:20180326222333p:plain



Step2)Linq To Objectのクエリ式で”A"から始まる人の名前を選択
f:id:kinakomotitti:20180326222225p:plain

Step3)出力ウィンドウにStep2)で選択した名前を順に出力
f:id:kinakomotitti:20180326222247p:plain

Assignアクティビティで人の名前を直接入力したり、”A"から始まる人だけしか選択できなかったりする制約がありますが、配列のフィルタリング処理をUiPathを使ってどう実現するかがわからない人はこれをベースにロジックを作っていけば効率がよさそうです。
また、ローカル変数は設定できるようなので、以下のUtilメソッドを作るようなイメージで”A"を変数にしてしまっても良いと思います。
>>|cs|
public void FilterCollectionUsingLINQ(List names, string variable1)
{
names = (from name in names where name.StartsWith(variable1) select name).ToList();
names.ForEach(item => Console.WriteLine(item));
}

<<

f:id:kinakomotitti:20180326222342p:plain

※Libraryへの追加方法はガイドに書いてある通りなので、ここでは省略します!

まとめ

UiPathのLibraryパネルの基本的な使い方をまとめてみました。
Libraryを使うことで、ほかのプロジェクトから似たようなフローをコピーする作業を減らせることが最大のメリットだと思います。
ガイドにはあまり書かれていませんが、LibraryはUtilやよく使うフローのひな型を作ることができるため、非常に有用性の高い機能です。

よりよく使う方法を探していきたいですな(´・ω・`)