UiPath テキストファイルを1行ずつ処理する方法

2020年9月5日

テキストファイルを読み込む」アクティビティは

ファイルの最初から最後まで全ての文字列をString型変数に取り込みます。

このままでは1行づつ処理することが出来ません。

この記事では1行づつ処理するように応用する方法を紹介します。

手順

言語にVBを選んでいます。

空のプロセス

まず「テキストファイルを読み込む」アクティビティを設置し、

プロパティをこのように設定します。

プロパティ設定値
ファイル名読み込むファイル
コンテンツファイルの内容を格納するString型変数
「テキストファイルを読み込む」アクティビティを設置し、ファイル名プロパティに読み込むファイルのパス、コンテンツプロパティにファイルの内容を格納するString型変数を指定

次にString[]型(配列)変数を用意します。

最初はString[]が変数の型にリストアップされないので

Array of [T]を選択しStringを選択します。

変数の型からArray of[T]を選択
型の選択でStringを設定

これによりString[]変数が宣言出来るようになります。

String[]変数を作成した図解

次に「代入」アクティビティを設置し、

プロパティの右辺値(Value)と左辺値(To)にこのように設定します。

プロパティ設定値
右辺値(Value)ファイルの内容を格納したString変数.Replace(vbCrLf,vbLf).Split({vbLf(0),vbCr(0)})
左辺値(To)String配列変数
「代入」アクティビティにプロパティを設定する図解

これによりString配列変数にファイルの内容が

1行が配列の1要素に分割された状態で格納されます。

今回はこちらのファイルを読み込みます。

改行コードが3つあるため分割結果は4つになります。

3行目の後ろにも改行があるため、4つ目の要素として空白文字列が入ります。

配列のインデックス内容
01行目
12行目
23行目
3

次に繰り返し(コレクションの各要素)を設置しプロパティにこのように指定します。

プロパティ設定値
TypeArgumentString
コレクション値String配列変数
繰り返し(コレクションの各要素)を設置しプロパティを設定する図解

これにより行毎に繰り返す状態になり、item変数の中に各行が格納されます。

今回はitemをメッセージボックスへ表示しますが、

最後の空白行を表示しないために条件分岐でフィルタします。

条件にitem=""を設定し、Elseにのみメッセージボックスを設置します。

これにより空白文字の時は処理しない状態になります。

(空白でも処理したい場合は不要です)

条件分岐を設置し、プロパティを指定する図解

このツールを実行することで行毎に

メッセージボックスが表示されます。

メッセージボックスが行毎に表示されるキャプチャ

関連記事

UiPath テキストファイルを読み込む アクティビティ

UiPath 代入 アクティビティ

UiPath 繰り返し(コレクションの各要素) アクティビティ

UiPath 条件分岐 アクティビティ

UiPath メッセージボックス アクティビティ