


この記事ではPower Automate for Desktopを使ってファイルをダウンロードして次のアクションに渡す方法を学習します。
この記事でわかること!
- Power Automate for DesktopでWebページ上のファイルをダウンロードする方法がわかる。
- PADでダウンロードしたファイルを次のアクションで操作する方法がわかる。
- 「Webページのダウンロードリンクをクリックします」アクションの使い方がわかる。
Power Automate for Desktopを使ってWebページ上のファイルをダウンロードしたい
Power Automate for Desktopのフローで、Webページ上のファイルをダウンロードした後にそのファイルを操作したいなぁと思うことがあります。例えば下記の流れです。
Power Automate for Desktopでやりたいこと
- Webページ上のファイルをダウンロードする。
- ダウンロードしたファイルにExcelマクロを実行する。
「Webページのダウンロードリンクをクリックします」アクション
Webページ上のファイルを操作するフローを作成するにあたり、まずはファイルダウンロードだな、と思ってアクション一覧の「ブラウザー自動化」グループの中を探してみるとピンポイントな名前のアクションがありました。「Webページのダウンロードリンクをクリックします」というアクションです。
「Webページのダウンロードリンクをクリックします」アクションのエラー
Internet Explorerのみの対応のアクションだった。
しかし、早速使ってみたところ下記のエラーメッセージが表示されます。

Internet Explorer 以外のブラウザーを使用したファイルのダウンロードはサポートされていません。オートメーション ブラウザーの使用を検討してください。
なんということでしょう。IEのみの対応らしいです。Edgeで実行したのですがブラウザを変更しなければいけないようです。
「Webページのダウンロードリンクをクリックします」アクションの使い方

ということでIEで実行してみたいと思います。下記は「Webページのダウンロードリンクをクリックします」アクションの動作を確認するための簡単なフローです。
フローを新規作成する方法がわからない方は下記をご参考になさってください。


▲「ブラウザー自動化」グループの中にある「新しいInternet Explorerを起動します」アクションを追加します。

▲「新しいInternet Explorerを起動します」アクションのパラメータを入力します。
- 起動モード:オートメーションブラウザーを起動します(デフォルト)
- 初期URL:ターゲットとなるWebサイトのURLを入力します。
- ウインドウの状態:標準(デフォルト)
今回下記の当サイトに用意したテストページでテストしています。テストを行い方は自由に使ってください。
ファイルダウンロードテストページ(https://www.teijitaisya.com/scraping-testpage/)

▲「Webページのダウンロードリンクをクリックします」アクションが開きます。「UI要素」のテキストボックスをクリックします。

▲すると「UI要素の追加」ボタンが表示されますのでクリックします。

▲追跡セッションというウィンドウが表示されます。このウインドウにUI要素を追加していきます。PADに対して「ここをクリックしてね」というのを教えてあげる作業がUI要素の追加作業です。
今回わたしが対象としたいのはファイルダウンロードリンクボタンです。追跡セッションウィンドウは表示させたまま、ブラウザを開きファイルダウンロードリンクボタンが設置されているWebページを表示させましょう。(この時に使用するブラウザはIEでなくても構いません)

▲追跡セッションウィンドウ(上図の左)とブラウザ(上図の右)の画面を見やすいように横に並べます。準備ができましたらブラウザに表示されたファイルダウンロードリンクにマウスカーソルを合わせます。すると上図のようにファイルダウンロードリンクがUI要素として認識され赤い枠線で囲われます。赤い枠線で囲われている状態でCtrlキーを押しながら左クリックします。

▲「Ctrlキーを押しながら左クリック」の操作を行いますと、追跡セッションウィンドウにファイルダウンロードリンクがUI要素として認識されます。登録できましたら同ウインドウ下側にある「完了」ボタンをクリックして追跡セッションウィンドウを閉じましょう。

▲「Webページのダウンロードリンクをクリックします」アクションの設定画面に戻ってみると、「UI要素」の設定に、先ほど登録したUI要素が自動入力されています。その他のパラメータも入力しましょう。
- Webブラウザーインスタンス:%Browser%
- 保存先フォルダ―:ダウンロードしたファイルをどのフォルダに保存するかを指定します。例:C:\Users\user\Desktop
ダウンロードしたファイルを次のアクションで活用できるかというテストとして、ダウンロードしたファイルのファイル名をポップアップメッセージで表示させてみます。

▲「メッセージを表示」アクションのパラメータを入力します。
- メッセージボックスのタイトル:ファイルダウンロード完了しました。
- 表示するメッセージ:%DownloadedFile.FullName%
%DownloadedFile%は「Webページのダウンロードリンクをクリックします」の出力変数です。ファイル型の変数なので.FullNameプロパティを使ってフルパスを表示します。

以上3つのアクションでフロー完成とします。本来はブラウザーを閉じるアクションを追加したり例外処理を考慮したりする必要があるかと思いますがここでは省略します。

▲フローを実行するとブラウザが立ち上がりファイルのダウンロードが行われます。最後に図のようにメッセージが表示されました。メッセージ文の中にファイル名がキチンと表示されています。無事に成功したようです。
「Webページのダウンロードリンクをクリックします」が実際に動いている動画
「Webページのダウンロードリンクをクリックします」のリファレンス
「Webページのダウンロードリンクをクリックします」のリファレンス
「Webページのダウンロードリンクをクリックします」アクションのDownloadedFile変数について
DownloadedFile変数はファイル型の変数だよ。

DownloadedFile変数はファイル型の変数です。ファイル型の変数は%DownloadedFile%のようにそのまま使うことはほぼありません。「%DownloadedFile.プロパティ名%」のような形式でドットを付けてプロパティを参照するケースがほとんどです。
どんなプロパティが利用できるかについては、ファイル取得後にフローデザイナーの右側変数ペインにあるDownloadedFile変数をダブルクリックすると中身を確認することができます(上図)。色々なプロパティを持っていて非常に扱いやすい変数です。例えば下記が良く使うプロパティかなと思います。
ファイル型の変数の良く使うプロパティ
- DownloadedFile.FullName
- ファイルのフルパス
- ファイルのフルパス
- DownloadedFile.NameWithoutExtention
- ファイルの拡張子を覗いたファイル名
- ファイルの拡張子を覗いたファイル名
- DownloadedFile.Directory
- ファイルが格納されているフォルダのパス


ChromeやEdgeでWeb上のファイルはダウンロードできないの?
「Webページのリンクをクリックします」アクションを使えばできます。
ファイルダウンロードの動作って要はダウンロードリンクをクリックしているだけなので「Webページのリンクをクリックします」アクションを使えばファイルのダウンロードが実現できます。このアクションはChrome/Edge/Firefoxすべてのブラウザで使うことができるアクションですので、IE以外のブラウザを利用したい場合はこちらのアクションを使うのが良いでしょう。
ただし、「Webページのリンクをクリックします。」アクションは、「Webページのダウンロードリンクをクリックします」アクションとは違いダウンロードファイルを出力変数に入れて返却してくれません。(出力変数を持たないアクションです。)このため、ダウンロードしたファイルを、どうやって次のアクションのターゲットとするかについて工夫が必要でした。
具体的な方法は▼下記の記事で解説していますので、興味のある方はご参考になさってください。


とはいえ、初心者の方はファイルをダウンロードするという用途においては、IEで「Webページのダウンロードリンクをクリックします」アクションを使う方が簡単です!
ダウンロード先に重複するファイル名が存在する場合は?

▲ダウンロードするとき、同じファイル名のファイルが既にある場合、PAD側で既存のファイル名を変更します。
例えば「請求書テスト.xlsx」をダウンロードするとき、保存先に請求書テスト.xlsxというファイルが既にある場合、既存のファイル名を請求書テスト_1.xlsxという名前に変更して、これからダウンロードするファイルを請求書テスト.xlsxとして保存します。
このようになぜか先住民の方の名前を変更してしまいます。実行の度に既存のファイルの名前がどんどんどん変更されていってしまうのはよろしくないことが多いと思うので実際の運用ではフォルダを新規作成してから保存するなど工夫した方が良いかと思います。
ダウンロードしたExcelファイルにマクロを実行する。
下記の記事では、ダウンロードしたExcelファイルにマクロを実行してみました。マクロとPADの値の受け渡し方法について解説しています。ご興味があればご覧ください。

うまく動かない・ファイルがダウンロードできない・UI要素がみつかりません。
- うまく動かない
- ファイルがダウンロードできない
- UI要素がみつかりません。
- ブラウザが開いたまま次の処理が進まない
上記のような不具合の場合はUI要素をうまく登録できていない可能性が高いです。UI要素を登録しなおしてみてください。それでも改善しない場合は登録されたUI要素のセレクタービルダーを開きセレクターを確認してください。ブラウザの開発者ツールでWebページのHTMLを確認してセレクターの記述に問題がないか確認してください。

まとめ
Web上のファイルをダウンロードするには2つのアクションがある。
「Webページのダウンロードリンクをクリックします」 | 「Webページのリンクをクリックします」 | |
---|---|---|
使用できるブラウザ | IEのみ | PADで利用できるすべてのブラウザ |
出力変数 | DownloadedFile | なし |
出力変数のデータ型 | ファイル型 | – |
メモ | 初心者でも使いやすい | IE以外でどうしてもファイルダウンロードしたいならこのアクション |

以上、この記事ではPADでWebページ上のファイルをダウンロードして操作する方法について解説しました。

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!
Power Automate学習教材

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。