スポンサーリンク

UiPath 設定ファイルの読み込み(テキストファイル)

設定ファイルとは

そもそも、設定ファイルって何に使うの?

と思う方もいるかと思います。作成したロボット実行時に、読み込みたい値や設定したい値が都度変わってしまい、変わる際のルールが明確ではないというときに使用します。

  • 読み込みたいExcelのシート名が固定でなく変わってしまうとき
  • Excelで取得したい値のセル位置が固定でなく変わってしまうとき
  • 入力したい値が固定でなく変わってしまうとき

上記のようなときに、毎回作ったロボットを修正すると時間がかかってしまいます。
しかし、設定ファイルを用意しておくと、設定ファイルの中身を変更するだけでロボットの修正は必要ありません。
今回は、そういったときに使用する設定ファイルの読み込み方について説明したいと思います。

スポンサーリンク

設定ファイルの記入内容(テキストファイル)

まずは、以下のような内容でconfig.txtファイルを作成します。
作成が完了したら、任意のフォルダに配置してください。

先頭にが記入されている行はコメントとして扱っています。

設定ファイルの読み込み

まず最初に、ファイルを選択を配置します。
アクティテビィ検索欄に「ファイル」と入力すると表示されます。

もしくはシステム -> ダイアログ -> ファイルを選択から配置してください。

配置が完了したら、右側のプロパティ欄の「出力」に Ctrl + K を押してconfig_file_pathと入力して、変数を新規作成します。

ファイルを選択は実行時にファイル選択画面を表示し、選択したファイルのパスを設定した変数に格納してくれます。

次にテキストをファイルから読み込みを配置します。
アクティテビィ検索欄に「テキストをファイルから読み込み」と入力するか
システム -> ファイル -> テキストをファイルから読み込みから配置してください。

配置が完了したら、「ファイル名」に先ほど作成したconfig_file_pathを入力します。
右側のプロパティ欄の「出力」に Ctrl + K を押してread_textと入力して、変数を新規作成します。

これで、読み込み部分は完了しました。
次は読み込んだテキストから必要な箇所のみ抽出します。

テキストデータの抽出

まずは、変数一覧でtext_arrayを作成します。変数の型はArray of<T>String型を選択してください。

もう一つconifg_dataで変数を作成します。変数の型はList<T>String型を選択してください。型の参照で「List」と入力すると表示されます。
既定値にはNew List(of String)と入力してください。

次は繰り返し (コレクションの各要素)を配置します。
アクティテビィ検索欄に「繰り返し (コレクションの各要素)」と入力するか
ワークフロー -> コントロール -> 繰り返し (コレクションの各要素)から配置してください。

配置が完了したら、「コレクション」にread_text.Split(CChar(vbcrlf))と入力し、右側のプロパティ欄の「TypeArgument」をStringに変更してください。

read_text.Split(CChar(vbcrlf))CChar(vbcrlf)改行コードを文字として扱いread_text.Split()改行コードで区切って配列に変換しています。
※簡単に説明をすると設定ファイルを1行ずつ区切って配列に変換しています。

次は本体内に条件分岐を配置します。
アクティテビィ検索欄に「条件分岐」と入力するか
ワークフロー -> 制御 -> 条件分岐から配置してください。

配置が完了したら、「Condition」にitem.Contains("#") Or item.Length = 1と入力します。

item.Contains(“#”)#が含まれる行を指定しています。
item.Length = 1空白行を指定しています。
Orなのでどちらかに当てはまる場合はという条件になります。

最後にElse内にコレクションに追加を配置します。
アクティテビィ検索欄に「コレクションに追加」と入力するか
プログラミング -> コレクション -> コレクションに追加から配置してください。

配置が完了したら、右側のプロパティ欄を以下の内容で設定してください。

項目設定内容
TypeArgumentString
コレクションconfig_data
項目item

これで、必要なデータの抽出は完了しました。
次は変数に設定し、表示してみます。

抽出したデータの変数設定、表示

まずは、設定ファイルから取得したデータを格納するためにsheet_namecell_positionset_valueの3つ変数を作成します。 変数の型は全てString型にしてください。

次はシーケンスの最後に複数代入を配置します。
アクティテビィ検索欄に「複数代入」と入力するか
ワークフロー -> コントロール -> 複数代入から配置してください。

配置が完了したら、追加を押して入力箇所を3つに増やし以下の内容を入力してください。

左辺右辺
sheet_nameconfig_data(0)
cell_positionconfig_data(1)
set_valueconfig_data(2)

最後に1行を書き込みを3つ配置し、sheet_namecell_positionset_valueを入力してください。
1行を書き込みはデフォルト設定でお気に入りにあります。

最終的なシーケンス内のフロー図は以下のようになります。

それでは実行してみましょう。

config.txtを選択して開くを押します。

出力結果として、それぞれ設定ファイルに入力した内容を取得できています。
以上で設定ファイルの読み込み方について説明を終了します。

おまけ

set_value“123”文字列として格納されていますが、数値として扱いたい場合は
set_valueの変数の型をInt32型に変更し、set_value = Convert.ToInt32(config_data(0))
と変更すると数値として扱えます。ConvertToの後ろに変更したい変数の型を指定すると型変換を行えます。

コメント