UiPath zipファイルを解凍 実装編

1つのアクティビティに3つの例外処理?実装する時の例外とは?

zipファイルを解凍するだけの場合、使用するアクティビティは一つ、Invoke Mehodだけです。しかし、実際に作り込むときは様々な例外処理を考えておきながら、フローチャートを作成する必要があります。

基礎編はこちらから。

想定ケース Chromeからzipをダウンロードして解凍

今回は、以下のような前提でzipファイルの解凍を実践していきたいと思います。

  1. Google Chromeからzipファイルをダウンロードする(名前を付けて保存)
  2. ダウンロードしたzipファイルを同一フォルダに解凍する
  3. 解凍後、zipファイルは不要なので削除する

普段の業務でもよくある流れですね。それでは実践していきましょう。

簡易的なフローチャート

簡単なフローチャートです。こういうのを仕様書って言うのは変だなぁ。

実際のワークフローがこちら

長めになってしまいました笑

例外処理 ダウンロード完了するまで解凍を待機できているか?

ダウンロード開始直後にzipファイルを解凍すると、「zipファイルは存在しません」という旨のエラーが発生します。

すぐに解凍するのではなく、ダウンロードが完了するまで待機しておきましょう。

例外処理 ネットワークの不調によるダウンロード失敗していないか?

また、何かしらのネットワークエラーでダウンロードが完了しないケースも発生するので、超過時間を設定して、無限ループを制御しておきます。
今回は「max_minutes」を用意して、10分 経過したらスローを投げます。

zipのパスを分解して、解凍先パスを取得

zipファイルの格納先は各実行環境において異なるでしょう。folder_path など既定値を定めるのも一つの手ではあると思いますが、今回はVB.NETのSystem.IO.Pathを使って、パスを分解していきたいと思います。

解凍前のdownload_pathの変数は末尾に「xxxxxx\xxxxx\.zip」とついていますが、
解凍後のdownload_pathの変数は「 xxxxxx\xxxxx」になるはずです。

例えば、変数「zip_path」と「unzip_path」2つを用意しても良いのですが、基本的には次の工程で処理されるのは解凍後のパスです。ひとつの変数「download_path」を使い続けながら、パスを変えていきたいと思います。

例外処理:解凍先に同一名のフォルダがないか?

解凍先のフォルダパスと同じフォルダが存在していた場合、エラーが発生します。

実際のエラー画面。「既に存在します」と文字が出ています。

そのため、事前に解凍先のフォルダパスが存在するのかをチェックし、もしも存在した場合、削除するエラーハンドリングを事前に組み込みます。

最後にzipフォルダを削除

最後に、download_path + extension でzipパスになるので、そこを削除すれば完成です。

まとめ

長かったですね。たった1つのアクティビティを実装するために、様々なアクティビティを配置していきました。ここらへんがRPAの難しさであり、面白さです。

それでは。

6件のフィードバック

  1. Hello! Do you know if they make any plugins to assist with SEO?

    I’m trying to get my site to rank for some targeted
    keywords but I’m not seeing very good results.
    If you know of any please share. Many thanks! You can read similar blog here:
    Eco product

  2. sugar defender As somebody that’s
    always been cautious regarding my blood sugar level, finding Sugar Protector has been an alleviation. I really feel so much extra in control,
    and my recent exams have actually revealed favorable improvements.
    Recognizing I have a trusted supplement to sustain my routine offers me satisfaction. I’m so grateful for Sugar Defender’s effect on my health!

  3. Can I simply say what a relief to uncover an individual who genuinely understands what they are discussing on the web. You actually know how to bring an issue to light and make it important. More people should check this out and understand this side of your story. It’s surprising you aren’t more popular since you most certainly possess the gift.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

目次