Web Analytics Made Easy - StatCounter

Economics Of TEC

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

【UiPath】辞書機能を使って変数をExcelで管理する方法

f:id:WillSpecter:20210306100438p:plain

 やりたいこと

Excel内で変数を管理する

以下のように変数を管理したExcelファイルを用意します。

ExcelファイルのA列に変数名をB列に変数に格納するを入力し、

RPA内で使用することができるようにしたいと思います。

f:id:WillSpecter:20210211105035p:plain
変数の設定についてはUiPath内で直接設定することができますが、Excelファイル内で管理することで以下のようなメリットがあります。

 

【メリット】

変数名に格納しているファイルパスやシート名が変更になった場合に、UiPathを開かずにExcelの値を変更するだけで対応することが可能。

→ユーザー部でも簡単に変更ができるので、開発者の負担も減ります!(^^)!

 

変数に格納されている値を一覧で見ることができるので第3者が見た時も業務を把握しやすい。

 

実行モードの変数を設定すると簡単に本番モードとテストモードに切り替えをすることができる。

 

などなど、他にもメリットはあると思いますが、とても便利なのでほとんどの開発でこのように設定ファイルを作成しています。

 

今回はプログラミングではおなじみの辞書機能を使用します。

 

UiPathでもDictionary型変数を使うことで辞書機能を使用することができます。

慣れるまでに時間がかかるかもしれませんが、とても便利な機能なのでぜひ参考にしてみてください!

Dictionary型変数とは

Dictionary型変数とはKeyValueの組み合わせで格納されたデータ型変数のことです。

Keyを使ってValueを呼び出すことが可能です。

 

配列と比較されることがよくありますが、イメージとしては以下のような感じだと思います。

 【配列】

0番を指定するとりんごという値が取得できる

3番を指定するとレモンという値が取得できる

順番で値が格納されている

f:id:WillSpecter:20210214164046p:plain

【辞書】

(Key)と指定するとりんご(Value)という値が取得できる

(Key)と指定するとすいか(Value)という値が取得できる

順番は関係なく、Keyを使うことでValueを呼び出すことができる

f:id:WillSpecter:20210306112157p:plain

Dictionary型変数について少しイメージが湧きましたか?

それではさっそくUiPathで使ってみましょう!

作成手順

Dictionary型の変数を作成する

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

今回はdic設定ファイルという変数を設定しています。

f:id:WillSpecter:20210216215753p:plain

変数の型にはDictionary型を選択します。

型の参照からdictionaryと検索すると、候補が出てくるのでSystem.Collections.Generic.Dictionary<TKey, TValue>

を選択します。

f:id:WillSpecter:20210306090251p:plain
 選択後にKeyValueに格納する値の型を聞かれます。

 

今回はどちらも、Stringを選択しています。

Valueに格納する型が決まっていない場合はObjectを選択しておくと良いと思います。

Dictionary変数を初期化する

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

 

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

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

f:id:WillSpecter:20210306092002p:plain

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

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

 

dic設定ファイル = New Dictionary(of string, string)

 

 f:id:WillSpecter:20210306092313p:plain

KeyとValueを結び付ける

 変数の初期化が終われば辞書の中に値を追加していきます。

 

まずは設定ファイルのExcelを読み込み、データテーブル型の変数に格納しましょう。

今回はdt設定テーブルという変数名を設定しました。

f:id:WillSpecter:20210306093658p:plain

 

次に繰返し処理の中でKeyValueを結び付けます

ForEachRowアクティビティを用意して、Excel内のすべてのKeyとValueを結び付けましょう。

ForEachRowアクティビティの処理の中にAssignを配置して以下のように入力します。

 

【左辺値】

dic設定ファイル(row設定テーブル("変数名").ToString)

【右辺値】

row設定テーブル("値").ToString

f:id:WillSpecter:20210306094612p:plain

これで、KeyValueの結び付けが完了しました。

イメージとしては以下のような感じです。

 

f:id:WillSpecter:20210306111856p:plain

Keyを変数と結び付ける

 KeyとValueの結び付けができたので、最後に開発でスムーズに変数を使えるように

Keyと変数を結び付けましょう。

 

用意するのはAssignアクティビティだけです。

以下のように記入しましょう。

 

str実行モード = dic設定ファイル("str実行モード")

strメッセージ = dic設定ファイル("strメッセージ")

strファイルパス = dic設定ファイル("strファイルパス")

strExcelシート名 = dic設定ファイル("strExcelシート名")

 

以前使っていたUiPathのバージョンでは、設定した変数分Assignアクティビティを用意して結び付けを行っていたのですが、アップデートしてからMultiple Assignアクティビティというものができていました!

これを使えばだいぶ楽に結び付けができますね!(^^)!

f:id:WillSpecter:20210306101819p:plain

Keyを使ってValueを呼び出す

以上で準備完了です!

全体のフローは以下のようになりました。

f:id:WillSpecter:20210306102436p:plain

 最後にメッセージボックスで結び付けができているか確認しましょう!

設定Excelの値を自由に変更して出力してみてください ^^

 

結果↓

f:id:WillSpecter:20210306103743p:plain

ひとこと

おそらくほとんどの案件でこのような設定値ファイルを用意していると思います。

 

始めから仕組みを用意してもらっているケースが多くて、中身がどのようになっているのかを意識せずに使っていることもあると思いますが、とても便利な機能なのでぜひこれを機に使ってみてください!

 

 リストや配列の操作方法についても紹介しているので、こちらも参考にどうぞ( ^^)/

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com