設定ファイルとは

そもそも、設定ファイルって何に使うの?
と思う方もいるかと思います。作成したロボット実行時に、読み込みたい値や設定したい値が都度変わってしまい、変わる際のルールが明確ではないというときに使用します。
- 読み込みたい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内にコレクションに追加
を配置します。
アクティテビィ検索欄に「コレクションに追加」と入力するかプログラミング
-> コレクション
-> コレクションに追加
から配置してください。
配置が完了したら、右側のプロパティ欄を以下の内容で設定してください。
項目 | 設定内容 | |
---|---|---|
TypeArgument | String | |
コレクション | config_data | |
項目 | item |

これで、必要なデータの抽出は完了しました。
次は変数に設定し、表示してみます。
抽出したデータの変数設定、表示
まずは、設定ファイルから取得したデータを格納するためにsheet_name
、 cell_position
、set_value
の3つ変数を作成します。 変数の型は全てString
型にしてください。

次はシーケンスの最後に複数代入
を配置します。
アクティテビィ検索欄に「複数代入」と入力するかワークフロー
-> コントロール
-> 複数代入
から配置してください。
配置が完了したら、追加を押して入力箇所を3つに増やし以下の内容を入力してください。
左辺 | 右辺 | |
---|---|---|
sheet_name | config_data(0) | |
cell_position | config_data(1) | |
set_value | config_data(2) |

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

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

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

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

出力結果として、それぞれ設定ファイルに入力した内容を取得できています。
以上で設定ファイルの読み込み方について説明を終了します。
set_valueに“123”と文字列として格納されていますが、数値として扱いたい場合は
set_valueの変数の型をInt32型に変更し、set_value = Convert.ToInt32(config_data(0))
と変更すると数値として扱えます。ConvertToの後ろに変更したい変数の型を指定すると型変換を行えます。
コメント