【UiPath応用】第2回:ファイル整理術~処理済みデータを自動でお片付け&圧縮~

こんにちは!UiPath メンターです。

あなたは、ロボットにこんな動きをさせていませんか?
「デスクトップにある『注文書.xlsx』を読み込んで登録処理をする」

これ、実はとても危険なんです。
もし明日、新しい『注文書.xlsx』が届く前にロボットを動かしてしまったら?
昨日の古いデータを、もう一度二重登録してしまうかもしれません。

プロの現場では、処理が終わったファイルは即座に「処理済みフォルダー」へ移動させます。
今回は、そんな「ファイル移動」と、バックアップに便利な「Zip圧縮」のやり方を学びましょう。

1. ファイルを移動する:「ファイルを移動」

最も基本となる操作です。
読み込み終わったファイルを、別の場所に退避させましょう。

手順

  1. [アクティビティ] パネルで「ファイル」と検索します。
  2. [ファイルを移動 (Move File)] をドラッグ&ドロップします。
    ※「システム > ファイル」カテゴリにあるものが一般的です。

設定項目

  • パス (Path): 移動させたい元のファイル(例:"C:\Users\...\Desktop\注文書.xlsx"
  • 宛先 (Destination): 移動先のパス(例:"C:\Users\...\Desktop\処理済み\"

💡 メンターからのアドバイス:フォルダは自動で作れる?

移動先のフォルダ(例:処理済み)が存在しない場合、エラーになってしまうことがあります。
[ファイルを移動] の前に、念のため [フォルダーを作成 (Create Folder)] アクティビティを置いておくと親切です。
このアクティビティは「既にフォルダがある場合は何もしない(エラーにならない)」ので、とりあえず置いておけば安心です。

2. 移動と同時に「名前を変える」

ただ移動するだけだと、翌日また同じ名前のファイルが来た時に「同名のファイルが存在します」とエラーになってしまいます。
そこで、移動するときに「日付」をファイル名に付けるのが定石です。

[ファイルを移動] アクティビティの [宛先] 欄には、フォルダ名だけでなく、新しいファイル名まで含めることができます。

設定例

宛先の欄に以下のように記述します。

"C:\Users\...\Desktop\処理済み\注文書_" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"

こうすると、移動後のファイル名は 注文書_20231025.xlsx のようになります。
これなら毎日処理しても名前が被りません!

※日付の詳しい操作は、応用編の第4回でじっくり解説します。

3. フォルダ内のファイルを順番に処理する

実務では「フォルダに入っているファイルを全部処理したい」というケースが多いですよね。
そんな時はこのループを使います。

手順

  1. [アクティビティ] パネルで「フォルダー」と検索します。
  2. [フォルダー内の各ファイル (For Each File in Folder)] を配置します。
  3. 対象のフォルダを指定します。

このループの中に「Excel処理」と「ファイル移動」を入れておけば、
「1つ取って処理して移動、次のファイルを取って処理して移動……」
と、フォルダが空になるまで働き続けてくれます。

4. まとめて圧縮:「Zip 圧縮/解凍」

月末に「処理済みフォルダの中身を全部まとめてZipにして、サーバーに保存したい」ということもあります。
UiPathなら圧縮も解凍も一発です。

手順

  1. [アクティビティ] パネルで「zip」と検索します。
  2. [ファイル/フォルダーを圧縮 (Compress/Zip Files)] を配置します。

設定項目

  • 圧縮する内容 (Content to compress): 圧縮したいフォルダ(例:"処理済み" フォルダ)
  • 圧縮後のファイル名 (Compressed file path): 作成したいZipファイルの名前(例:"2023年10月バックアップ.zip"

これで、フォルダの中身を丸ごと1つのZipファイルにまとめられます。
逆にZipをもらった場合は [ファイル/フォルダーを解凍 (Extract/Unzip Files)] を使えばOKです。

今回のまとめ

  • 処理が終わったファイルは [ファイルを移動] で片付けるのが鉄則。
  • 移動先に「新しい名前」を指定すれば、リネーム(名前変更)も同時にできる。
  • [フォルダー内の各ファイル] ループを使えば、一括処理&お片付けロボットが作れる。

⚠️ つまづきポイント:ファイルが握られている?

ファイルを移動しようとしたら「別のプロセスが使用中です」とエラーになることがあります。
これは、直前の処理(Excel操作など)でファイルを閉じ忘れているのが原因です。
Excelなら [Excel プロセス スコープ] の外側で移動させるか、確実にファイルを閉じる処理が入っているか確認しましょう。

次回は、紙の書類業務をなくすための切り札。
「PDFのテキスト読み取り」です。
画像ではなく「データ」としてPDFの中身を読み取る方法を学びます。請求書処理などの自動化に役立ちますよ!

タイトルとURLをコピーしました