Web Analytics Made Easy - StatCounter

Economics Of TEC

RPA,経済学,IT技術などに関する情報を発信しています。

【UiPath】リストの作成・追加・最大値の取得方法

f:id:WillSpecter:20210129204553p:plain

 やりたいこと

テストフォルダ内に名前が数値になっているファイルが5つ格納されているとします。

 

今回はこのファイル名から数値部分のみを取り出してリストへ格納後、

リストから最大値である「40」を取り出すという処理を行ってみたいと思います。

f:id:WillSpecter:20210125214458p:plain

リストの使い方がわかると開発でできる幅がとても広がるのでぜひ参考にしてみてください!

リスト型の変数を作成する

まずはじめにリスト型の変数を作成します。

今回はlistフォルダ名という変数を設定しています。

f:id:WillSpecter:20210129081739p:plain

変数の型にはリスト型を選択します。

型の参照からlistと検索すると、候補が出てくるのでSystem.Collections.Generic

を選択します。

f:id:WillSpecter:20210129081928p:plain
 選択後にリストに格納する値の型を聞かれます。

 

今回はファイル名から数値部分だけを取り出して、リストに追加したいので、

Int32を選択しています。

f:id:WillSpecter:20210129082153p:plain

リストを初期化する

 リスト型の変数を作成した後はリストを初期化する必要があります。

 

先ほどの変数作成だけでは、まだ箱の名前しか決まっていない状態なので、

値を格納するための箱を作るといったイメージです。

 

f:id:WillSpecter:20210129083940p:plain

 

初期化はとても簡単です。

Assignアクティビティを用意して、以下のように入力するだけです。

 

listフォルダ名 = New List(Of Integer)

 

数値を格納するので、Of Integerとしていますが、

文字列を格納する場合は、Of Stringとなります。

f:id:WillSpecter:20210129084455p:plain

リストに値を追加する

 リストの初期化が終われば箱の中に値を追加していきます。

テストフォルダのパスを文字列型変数strフォルダパスに格納しておきます。

f:id:WillSpecter:20210129090013p:plain

 

次に繰返し処理の中でフォルダ内のファイルパスを順番に取り出します。

ForEachアクティビティを用意して、コレクション内の各要素には以下を入力します。

directory.GetFiles(strフォルダパス)

 

取得したファイルパスはitemフォルダパスに格納しています。

ForEachアクティビティのプロパティで、TypeArgumentにはString型を設定します。

f:id:WillSpecter:20210129091308p:plain

 

フォルダパスの取得方法について詳しく知りたい方はこちらの記事を参考にしてみてください(^^)

it-rpa.hatenablog.com

次に繰り返しの処理の中で、リストに値を追加するため、

AddToCollectionアクティビティを使用します。

このアクティビティを使用することで、作成したリストに値を追加することができます。

 

プロパティには以下の内容を入力します。

TypeArgument

→リストには数値を格納するためInt32を設定

コレクション

→値を追加するリストを指定。今回の場合はlistフォルダ名

項目

→リストに追加する値を設定。

今回は以下のように入力することでファイルパスからファイル名を拡張子なしで取得して、数値部分のみをリストに格納します。

Cint(Path.GetFileNameWithoutExtension(itemフォルダパス))

 

※リストから値を取得する際に最大値や最小値といった数値の比較をするため、

今回はCintで囲んで強制的に数値型に変換しています。

f:id:WillSpecter:20210129094234p:plain

 

 ファイルパスからファイル名を取得する方法、拡張子なしのファイル名を取得する方法については、以下の記事を参考にしてみてください( ..)φ

it-rpa.hatenablog.com

 リストから最大値を取得する

これまでの手順で無事にリストに値を追加することができました。

イメージとしては、listフォルダ名には以下のように数字が格納されている状態です。

【1, 3, 5, 10, 40】

 

このリストから最大値の40を抜き出してみましょう。

方法は簡単です。

メッセージボックスを用意して以下のように入力して実行してみてください。

listフォルダ名.max

f:id:WillSpecter:20210129202239p:plain

 

結果↓

 

f:id:WillSpecter:20210129202341p:plain

無事に出力できましたか?(^^)

 

listフォルダ名.min

とすることで最小値を求めることもできます!

ひとこと

リストの使い方がわかると色々な場面で活躍します(^^)/

 

今回はファイルパスから、ファイル名をリストに格納しましたが、

Excelファイル内のデータをForEachRowアクティビティと組み合わせて使うことで、

一気にリストに格納して加工することも可能です。

 

アクティビティの検索でコレクションと検索すると、以下のようにリストを扱うためのアクティビティが表示されます。

f:id:WillSpecter:20210129203542p:plain

今回の追加方法が理解できれば、他のアクティビティも使いこなすことができると思うので、ぜひ使ってみてください^^

 

 リストに似ている配列の操作方法についても紹介しているので、こちらも参考にしてみてください!

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com