【初心者向け】UiPathによるRPA実装24 UiPathにおけるファイルの取り扱い方法

前回記事のの終わりに、生成されるテキストファイルが正しいフォルダに出力されないという経費申請アプリケーション上のバグが発見されました。

今回の記事では、この問題の対応として、生成されたファイルを移動する処理をUiPathで実装したいと思います。

<スポンサーリンク>

ファイル移動処理の自動化

アプリケーションクローズ処理の追加

さて、ファイル移動処理を追加する前に、これまで作成したフローに経費申請アプリケーションを閉じる処理追加しましょう。

実はアプリケーションをクローズする前にファイルを移動しても、1つのExcelファイルだけを読み込む今の状況では正しく動くのですが、後の回にて複数のExcelファイルからデータを取り込む処理を追加しようと思っています。その場合、全てのファイル入力が終わってアプリをクローズしてから、最終的なアウトプットを移動する必要があるので、その先取りと考えて下さい。

アプリは、アプリウインドウ右上の「×」をクリックすることで閉じることができます。クリック処理ですので、これまでと同様、Recording機能を使って実装しましょう。実装すると「Recording Sequence」が登録されますので、名称を「Appクローズ」と変更しておきます。また、忘れずに上の「Appへの登録」ボックスと矢印でつないでおきましょう。

これで、アプリクローズ処理の追加は完了です。

ファイル移動処理の追加

続いて、UiPathプロジェクトフォルダに生成されたファイルを、経費申請アプリケーションフォルダに移動する処理を追加します。

UiPath上、ファイルの移動は「Move File」Activityを使って実装します

Activitiesペインで「Move File」を検索し、Mainワークフロー上でAppクローズボックスの下に追加して下さい。

もしも中央のMainワークフロー枠が狭く、追加する空き領域がない場合には、Flowchartボックスの右下のボタンをドラッグすることにより、枠を広げることができます。

続けて、Move fileのProperty設定に移ります。

設定すべき箇所は、移動元のファイルを表すFrom-Path欄と、移動先のフォルダを表す、To-Destination欄です。

本記事ではFrom-Path欄に「”C:\Users\user01\Documents\UiPath\sample03\expense.txt”」と、To-Destination欄に「”C:\expense”」と入れていますが、お使いの環境に応じて適宜指定するパスは変更下さい。

これでファイル移動処理の追加は完了です。

テスト実行

さて、ここまでの処理を実行してみましょう。エラー無く動きましたでしょうか。処理が終わったら、登録結果のテキストファイルが正しい場所に保存されているか確認してみます。

まずは、前回ファイルが保存されていた、UiPathのプロジェクトフォルダを見てみましょう。

テキストファイルは存在しませんね。

一方、ファイルを保存すべき、経費申請アプリケーションフォルダも見てみましょう。

今回は正しくファイルが保存されているようです。

ところで、今は、アプリケーションフォルダにテキストファイルが存在しない状態で処理を実行してみましたが、すでにファイルが存在する状態で処理を実行するとどうなるのでしょうか?

試しに、テキストファイルを残したまま、もう一度処理を実行してみて下さい。

UiPathがエラーを吐いてしまいましたね。どうやら、ファイル移動先に既にファイルがある場合はエラーが発生してしまうようです。本来は移動先にファイル存在する場合、エラーを吐くのではなく、既存ファイルの内容に新しくアプリケーションに登録した結果を追記するようにしたいところです。

終わりに

今回は、アプリケーションへの登録結果を正しいフォルダに生成するよう、UiPathにおけるファイル移動処理の実装方法を紹介しました。

ところが、移動先にファイルが存在する場合、エラーを吐いて自動化プログラムが停止してしまうという問題が見つかりました。

次回の記事ではこのような例外(Exception)が発生した場合に、処理を継続するための対応方法と、既存ファイルが存在する場合に、そのファイルに情報を追記する方法について紹介したいと思います。