UiPathでファイルダウンロードを自動化する完全ガイド

UiPathでファイルダウンロード操作を自動化する方法を徹底解説。ダウンロードを待機アクティビティ、HTTPリクエスト、従来の方法など、3つの主要なアプローチを実例付きで紹介します。

💡

この記事について

UiPathでファイルダウンロード操作を効率的に自動化する方法を、初心者から上級者まで理解できるよう詳しく解説します。状況に応じた最適な手法を選択できるよう、複数のアプローチを紹介します。

ビジネス自動化において、Webサイトからのファイルダウンロードは頻繁に発生する作業です。UiPathでは、状況や要件に応じて複数の方法でファイルダウンロードを自動化できます。

ファイルダウンロード手法の概要

UiPathでファイルダウンロードを実現する主な方法は以下の3つです:

ダウンロードを待機

2021.10から追加された専用アクティビティ。画面操作によるダウンロードに最適

🌐

HTTPリクエスト

直接URLからファイルを取得。固定URLが分かっている場合に効率的

🔄

従来の監視方式

繰り返し処理でファイル存在を確認。古いバージョンでも利用可能

🎯 ダウンロードを待機アクティビティ

概要

「ダウンロードを待機」アクティビティは、UiPath 2021.10から正式に追加された最新の手法です。このアクティビティは指定したフォルダーを監視し、新しいファイルが生成されるまで待機します。

動作原理

このアクティビティは「ブラウザからのダウンロードを監視」しているのではなく、「指定したフォルダに生成される新規ファイルを監視」しています。既存ファイルの上書きでは検知されないため注意が必要です。

基本的な使用方法

1

アクティビティの配置

アクティビティパネルから「ダウンロードを待機」を検索し、ワークフローにドラッグ&ドロップします。

場所: ワークフローシステムダウンロードを待機

2

監視フォルダーの設定

プロパティパネルで「ダウンロード フォルダー」を設定します。

デフォルト: C:\Users\[ユーザー名]\Downloads
💡

Tip

ブラウザの設定で「ダウンロード前に各ファイルの保存場所を確認する」をOFFにしておくと安定して動作します。

3

ダウンロードアクションの追加

アクティビティ内の「本体」セクションに、実際にダウンロードを実行するアクション(クリックなど)を配置します。

4

出力変数の設定

「ダウンロードされるファイル」プロパティに、FileInfo型の変数を設定してダウンロードされたファイル情報を取得します。

実装例

基本的なワークフロー構成

1. ダウンロードを待機アクティビティ
   ├── 監視対象フォルダー: C:\Users\[ユーザー名]\Downloads
   ├── タイムアウト: 300秒(5分)
   └── 本体:
       └── クリック(ダウンロードボタン)

2. メッセージをログ
   └── 出力: "ダウンロード完了: " + downloadedFile.Name

注意事項とベストプラクティス

  • 上書きダウンロードの非対応: 既存ファイルを上書きする場合は検知されません
  • フォルダー操作の禁止: 監視中にフォルダー内でファイルを削除・移動すると誤動作の原因となります
  • 一時ファイルの考慮: Office製品などが生成する一時ファイルに注意が必要です
  • ファイル生成のタイミング: アクティビティ実行後に生成されるファイルのみが検知対象です

🌐 HTTPリクエストを使用した方法

概要

ダウンロード先のURLが既知の場合、HTTPリクエストアクティビティを使用して直接ファイルを取得できます。この方法は画面操作が不要で、より確実で高速な処理が可能です。

実装手順

1

変数の準備

必要な変数を定義します:

- downloadUrl (String): ダウンロードするファイルのURL
- fileName (String): 保存するファイル名
- fileContent (Byte[]): ダウンロードしたファイルの内容
2

HTTPリクエストの設定

HTTPリクエストアクティビティを配置し、以下のように設定:

  • エンドポイント: downloadUrl
  • メソッド: GET
  • 出力: fileContent
  • 出力タイプ: Byte[]
3

ファイル保存

「ファイルに書き込み」アクティビティで取得した内容をファイルに保存:

  • ファイル名: "C:\Downloads\" + fileName
  • コンテンツ: fileContent

コード例

HTTPリクエストによるファイルダウンロードvb
' URL設定
downloadUrl = "https://example.com/files/sample.pdf"
fileName = "sample_" + DateTime.Now.ToString("yyyyMMdd") + ".pdf"

' HTTPリクエスト実行後、ファイル保存
' (HTTPリクエストアクティビティとファイルに書き込みアクティビティを使用)

' 成功ログ
System.IO.File.Exists("C:\Downloads\" + fileName) = True

HTTPリクエストの利点と制限

HTTPリクエスト方式はどのような場面で有効ですか?
💡
APIエンドポイントが公開されている場合、認証情報付きでダウンロードする場合、大量のファイルを効率的に処理する場合などに最適です。ただし、JavaScript必須のサイトや複雑な認証が必要な場合は使用できません。

🔄 従来の監視方式(繰り返し処理)

概要

UiPathの古いバージョンや「ダウンロードを待機」アクティビティが利用できない環境では、繰り返し処理を使用してファイルの存在確認を行う方法があります。

実装例

1

変数の初期化

- chkFileExist (Boolean): False(初期値)
- filePath (String): ダウンロード先のフルパス
- maxRetryCount (Integer): 最大リトライ回数
2

繰り返し(前判定)の設定

条件: chkFileExist = False

本文内に以下を配置:

  • パスの存在を確認アクティビティ
  • 条件分岐(ファイルが存在しない場合は待機)
3

ファイル存在確認

「パスの存在を確認」アクティビティで対象ファイルをチェック:

  • パス: filePath
  • 出力: chkFileExist
4

待機処理

ファイルが存在しない場合は数秒待機してから再チェック

🚀

ダウンロード開始

Step 1

ユーザーがダウンロードボタンをクリック

👁️

監視開始

Step 2

繰り返し処理でファイル存在をチェック開始

⏱️

待機・リトライ

Step 3

ファイルが見つからない場合は5秒待機して再チェック

ダウンロード完了

Step 4

ファイルが検出されたら次の処理に進む

手法の比較と選択指針

手法複雑さ確実性速度対応バージョン
ダウンロードを待機2021.10以降
HTTPリクエスト最高最高全バージョン
従来の監視方式全バージョン

実践的な応用例

レポート自動ダウンロード

👤
開発者
🤔

毎日の売上レポートを自動でダウンロードして、Excelで加工するワークフローを作りたいな。

👤
UiPathエキスパート

それなら「ダウンロードを待機」アクティビティと組み合わせて、以下のような流れがおすすめです。

👤
太郎

具体的にはどのような手順になりますか?

👤
花子
😊

まず管理画面にログインし、日付範囲を指定してレポート生成ボタンをクリック。その後「ダウンロードを待機」でファイルを取得し、日付付きのファイル名でリネームして保存します。

大量ファイルの一括ダウンロード

繰り返し処理による大量ファイルダウンロードvb
For Each fileUrl In downloadUrlList
  ' HTTPリクエストでファイル取得
  httpResponse = HttpRequest(fileUrl)
  
  ' ファイル名を生成
  fileName = Path.GetFileName(fileUrl) + "_" + DateTime.Now.ToString("yyyyMMdd")
  
  ' ファイル保存
  File.WriteAllBytes("C:Downloads" + fileName, httpResponse.Content)
  
  ' 成功ログ
  Log.Info("ダウンロード完了: " + fileName)
  
  ' サーバー負荷軽減のため待機
  System.Threading.Thread.Sleep(1000)
Next

まとめ

重要なポイント

UiPathでのファイルダウンロード自動化は、要件と環境に応じて最適な手法を選択することが重要です。新しいプロジェクトでは「ダウンロードを待機」アクティビティを、API連携が可能な場合はHTTPリクエストを優先的に検討しましょう。

ファイルダウンロードの自動化は、業務効率化の重要な要素です。この記事で紹介した3つの手法を適切に使い分けることで、確実で効率的な自動化ワークフローを構築できます。

次のステップ

📊

ダウンロード後の処理

取得したファイルのExcel操作やデータ抽出処理を学習

🔄

スケジュール実行

UiPath Orchestratorでの定期実行設定を習得

📧

通知機能

処理完了時のメール通知やSlack連携を実装

🛡️

エラーハンドリング

堅牢な例外処理とログ出力の実装方法

継続的な学習と実践を通じて、UiPathでのファイルダウンロード自動化をマスターしましょう!

💭この記事はいかがでしたか?

あなたの感想やご意見をお聞かせください。今後のコンテンツ改善の参考にさせていただきます。

📤この記事をシェア

この記事が役に立ったら、ぜひ他の人にも共有してください!

✍️記事について

この記事の内容に関してご質問やご指摘がございましたら、お気軽にお問い合わせください。

⚠️ 記事の内容は投稿時点での情報です。最新の情報については公式サイト等でご確認ください。

🔄 内容の正確性には注意を払っていますが、誤りがある場合はお知らせください。

📂 このカテゴリーの他の記事

services の記事一覧を見る →

📂同じカテゴリの記事

🏷️関連記事

最新記事

🚀もっと見つける