Quantcast
Channel: dictionaryタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 99

【WinActor】ディクショナリやデータ一覧の代替案

$
0
0

WinActorでディクショナリやデータ一覧が使えずお困りの方は、参考にしていただけると幸いです。

ファイルパスやセルの位置などをノードに直接指定するのは、セルの位置が変わった時に変更の手間と変更漏れリスクがあるので、Excelで設定マスタを外出しにして、初期処理として読み込んだ値を変数に格納する運用にしています。
UiPathのディクショナリのような運用がWinActorでもできることを期待していましたが、残念ながら実現できないようです。
データ一覧に設定マスタをインポートしても、変数に格納される訳ではありませんでしたので、別の方法で作成しました。

■用意する変数
・設定マスタパス
・設定マスタ列
・設定マスタ行
・設定マスタセル位置
・処理結果
・設定マスタのKey列
※少し手間ですが、最初だけですので頑張りましょう!

1.設定マスタを用意する
下図のようなKey-Valueとなるマスタを用意する。
設定マスタ.png

2.Key列を1つずつ変数に登録する。
少し手間ですが、最初だけですので頑張りましょう!

3.設定マスタを選択
使用ノード:選択ボックス
・ファイル選択結果:設定マスタパス

4.設定マスタ選択判定
使用ノード:分岐
条件:設定マスタパス <> 空白
※空白だった場合はシナリオ停止ノードを入れました。

5.設定マスタ列初期化
使用ノード:変数値設定
・変数名:設定マスタ列
・値:Value列(例ではDを設定)

6.設定マスタ行初期化
使用ノード:変数値設定
・変数名:設定マスタ行
・値:ヘッダを除く一番上の行(例では3を設定)

7.設定マスタセル位置初期化
使用ノード:07_文字列操作\03_連結\文字列の連結(2つ)
・文字列1:設定マスタ列
・文字列2:設定マスタ行
・連結結果:設定マスタセル位置

8.Valueの取得
使用ノード:18_Excel関連\12_書式\Excel操作(値の取得)
・ファイル名:設定マスタパス
・シート名:
※空白だとアクティブなシートが対象になります
・セル位置:設定マスタセル位置
・格納先変数:Keyとして登録した変数

9.次の行へ
9-1.設定マスタ行カウントアップ
使用ノード:カウントアップ
・計算結果:設定マスタ行
・加算値:1

9-2.設定マスタセル位置設定
使用ノード:07_文字列操作\03_連結\文字列の連結(2つ)
・文字列1:設定マスタ列
・文字列2:設定マスタ行
・連結結果:設定マスタセル位置

8と9を設定マスタの最後まで繰り返す
※9は設定マスタに登録している分だけ必要なので、サブルーチン化して呼び出す形にしたほうが便利です。

9を用意した利点は、開発中に、設定マスタの見直し(行の追加、削除)があった場合に、流動的に対応できることです。
セル位置を直接指定してしまうと、場合によっては全行ズレてしまうことになりかねません。

10.設定マスタを閉じる
使用ノード:18_Excel関連\01_ファイル操作\Excel操作(保存なしで閉じる)
・ファイル名:設定マスタパス
・実行結果:処理結果

以上が、WinActorによるディクショナリやデータ一覧の代替案でした。
しつこいようですが、最初の登録さえしてしまえば、後はとても楽になります。


Viewing all articles
Browse latest Browse all 99

Trending Articles