今回はUiPathで「ファイル選択(SelectFile)」などを使用してファイルパスを取得し、ファイルパスからファイル名だけを抽出する方法についてご紹介します。
変数の作成
変数名 | 変数の型 | 備考 |
---|---|---|
FilePath | String | |
FileName | String | |
FilePathArray | String[] | Array of String |
上記の表の通りに変数を作成してください。

ファイルパスを取得する
まずはファイルを選択を配置します。
アクティビティ検索欄に「ファイルを選択」と入力するかシステム
-> ダイアログ
-> ファイルを選択
から配置してください。
配置が完了したら、右側のプロパティ欄の「出力」にFilePath
を入力します。

ファイルパスからファイル名を取得する
次に代入を配置します。
デフォルト設定でお気に入りにあるのでそこから配置してください。
配置が完了したら、FilePathArray = FilePath.Split("\"c)
となるように入力します。

その下に代入をもう1つ配置してください。
配置が完了したら、FileName = FilePathArray(FilePathArray.Length - 1)
となるように入力します。

テスト
ファイル名を取得できているか確認するために1行を書き込みを配置します。
デフォルト設定でお気に入りにあるのでそこから配置してください。
配置が完了したら、FileName
と入力してください。

最終的なフロー図は以下のようになります。

それでは実行してみます。
今回は、デスクトップに「text.txt」ファイルを用意して行います。

“test.txt”と出力されました。
補足
例)デスクトップにある「test.txt」を選択した場合
変数名 | 設定値 |
---|---|
FilePath | C:\Users\ユーザー名\Desktop\test.txt |
FilePathArray = FilePath.Split("\"c)
でFilePathArray
は以下の表のようになっています。
| インデックス | 0 | 1 | 2 | 3 | 4 |
| ———– |:-:|:-:|:-:|:-:|:-:|
| 配列内の値 | C: | Users | ユーザー名 | Desktop | test.txt |
インデックス | 0 | 1 | 2 | 3 | 4 |
格納されている値 | C: | Users | ユーザー名 | Desktop | test.txt |
一番最後を指定することで、ファイル名を取得できます。
FilePathArray.Length
では要素数を取得するため、上記の表の通り5つ要素があるためFilePathArray.Length=5となります。
FilePathArray.Length - 1
とすることで最後のファイル名部分を指定することができます。
コメント