やりたいこと
Excel内で変数を管理する
以下のように変数を管理したExcelファイルを用意します。
ExcelファイルのA列に変数名をB列に変数に格納する値を入力し、
RPA内で使用することができるようにしたいと思います。
変数の設定についてはUiPath内で直接設定することができますが、Excelファイル内で管理することで以下のようなメリットがあります。
【メリット】
変数名に格納しているファイルパスやシート名が変更になった場合に、UiPathを開かずにExcelの値を変更するだけで対応することが可能。
→ユーザー部でも簡単に変更ができるので、開発者の負担も減ります!(^^)!
変数に格納されている値を一覧で見ることができるので第3者が見た時も業務を把握しやすい。
実行モードの変数を設定すると簡単に本番モードとテストモードに切り替えをすることができる。
などなど、他にもメリットはあると思いますが、とても便利なのでほとんどの開発でこのように設定ファイルを作成しています。
今回はプログラミングではおなじみの辞書機能を使用します。
UiPathでもDictionary型変数を使うことで辞書機能を使用することができます。
慣れるまでに時間がかかるかもしれませんが、とても便利な機能なのでぜひ参考にしてみてください!
Dictionary型変数とは
Dictionary型変数とはKeyとValueの組み合わせで格納されたデータ型変数のことです。
Keyを使ってValueを呼び出すことが可能です。
配列と比較されることがよくありますが、イメージとしては以下のような感じだと思います。
【配列】
0番を指定するとりんごという値が取得できる
3番を指定するとレモンという値が取得できる
→順番で値が格納されている
【辞書】
赤(Key)と指定するとりんご(Value)という値が取得できる
緑(Key)と指定するとすいか(Value)という値が取得できる
→順番は関係なく、Keyを使うことでValueを呼び出すことができる
Dictionary型変数について少しイメージが湧きましたか?
それではさっそくUiPathで使ってみましょう!
作成手順
Dictionary型の変数を作成する
まずはじめにDictionary型の変数を作成します。
今回はdic設定ファイルという変数を設定しています。
変数の型にはDictionary型を選択します。
型の参照からdictionaryと検索すると、候補が出てくるのでSystem.Collections.Generic.Dictionary<TKey, TValue>
を選択します。
選択後にKeyとValueに格納する値の型を聞かれます。
今回はどちらも、Stringを選択しています。
Valueに格納する型が決まっていない場合はObjectを選択しておくと良いと思います。
Dictionary変数を初期化する
Dictionary型の変数を作成した後は初期化する必要があります。
先ほどの変数作成だけでは、まだ辞書の名前しか決まっていない状態なので、
値を格納するための辞書を作るといったイメージです。
初期化はとても簡単です。
Assignアクティビティを用意して、以下のように入力するだけです。
dic設定ファイル = New Dictionary(of string, string)
KeyとValueを結び付ける
変数の初期化が終われば辞書の中に値を追加していきます。
まずは設定ファイルのExcelを読み込み、データテーブル型の変数に格納しましょう。
今回はdt設定テーブルという変数名を設定しました。
次に繰返し処理の中でKeyとValueを結び付けます
ForEachRowアクティビティを用意して、Excel内のすべてのKeyとValueを結び付けましょう。
ForEachRowアクティビティの処理の中にAssignを配置して以下のように入力します。
【左辺値】
dic設定ファイル(row設定テーブル("変数名").ToString)
【右辺値】
row設定テーブル("値").ToString
これで、KeyとValueの結び付けが完了しました。
イメージとしては以下のような感じです。
Keyを変数と結び付ける
KeyとValueの結び付けができたので、最後に開発でスムーズに変数を使えるように
Keyと変数を結び付けましょう。
用意するのはAssignアクティビティだけです。
以下のように記入しましょう。
str実行モード = dic設定ファイル("str実行モード")
strメッセージ = dic設定ファイル("strメッセージ")
strファイルパス = dic設定ファイル("strファイルパス")
strExcelシート名 = dic設定ファイル("strExcelシート名")
以前使っていたUiPathのバージョンでは、設定した変数分Assignアクティビティを用意して結び付けを行っていたのですが、アップデートしてからMultiple Assignアクティビティというものができていました!
これを使えばだいぶ楽に結び付けができますね!(^^)!
Keyを使ってValueを呼び出す
以上で準備完了です!
全体のフローは以下のようになりました。
最後にメッセージボックスで結び付けができているか確認しましょう!
設定Excelの値を自由に変更して出力してみてください ^^
結果↓
ひとこと
おそらくほとんどの案件でこのような設定値ファイルを用意していると思います。
始めから仕組みを用意してもらっているケースが多くて、中身がどのようになっているのかを意識せずに使っていることもあると思いますが、とても便利な機能なのでぜひこれを機に使ってみてください!
リストや配列の操作方法についても紹介しているので、こちらも参考にどうぞ( ^^)/