Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

Power Automate DesktopとExcel連携(2)

Web検索結果をExcelへ取り込み

2021年より、Power Automate Desktop(以下、この記事内では、頭文字を取ってPADと略します)がWindows 10以降のOSユーザーへ、無償で提供されるようになりました。業務自動化の切り札とされるRAP(Robotic Process Automation)代表製品で、Microsoft社製のため、Excelとの親和性が高いことも、人気の秘密です。

とくに、Excel VBAから操作しやすかったWebブラウザ”IE”が、2022年6月にサポート終了となることもあり、Web情報とExcelとの連携については、今後PADを活用する場面もふえてくるでしょう。

この記事では、PADによるWeb情報とExcel連携の事例として、経路検索サイトから運賃情報を取得し、Excelへ書き込むケースをご紹介します。

Web経路検索サイトから、運賃情報をExcelに転記

せるワザ!では、過去にもVLOOKUP関数VBAなどの記事で、面倒くさい小口交通費精算を効率化するテクニックについて紹介してきました。

この「関数」や「VBA」の事例でやったことは、事前にExcelに「運賃マスター表」を作成しておいて、必要な情報を呼び出してくることでした。特定の目的地・取引先への移動記録を管理するためには効率的ですが、あらかじめマスター表を準備しておく必要があります。

仕事の種類や、新規取引先が増えるたびにマスター表を更新するのは面倒ですし、Web上では、多くの経路検索サイトが、一部機能を無償提供しています。Webそのものをマスター表と見たててしまえば、自分で新しく表を作成する手間がはぶけますし、サイト管理者がつねに最新情報へと更新してくれるため、計算ミスの可能性も減らせますよね。

今回は、Excelに入力した任意の「乗車駅」「下車駅」を読み取って、代表的な経路検索サービスのひとつである「駅すぱあと for web」検索画面へ自動入力。最短経路での交通系ICカード使用時の片道運賃を検索して、Excel表に追記するまでの流れを、PADで自動化してみました。 今回作成したPADフロー(作業自動化の手順書)は、以下の画像のとおりです。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

このフローを実行することで、

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

Excelシートに書きこまれた乗車駅、下車駅の情報を、PADが駅すぱあと for Web検索画面へ入力し、検索で得られた結果から「最短経路の交通系ICカード使用時片道運賃」を、元のExcelシートへ追記するまでの作業が自動化されています。

実行後のExcelシートはこうなりました。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

このPADフローでの重要ポイントは、

(1)Webに情報を入力する手順を登録するときに、「レコーダー」が使えること、と

(2)VBAと同様、ループ(反復処理)を活用することで、Excel内にレコードがいくつあっても、終端レコードまでを正確に自動処理できること

の2点です。

Webへの入出力手順は、”レコーダー”を活用して自動的に記録

PADには、マクロの記録と同じように、パソコン操作を自動記録する便利機能がそなわっています。PADを使いはじめたばかりの時期は、ぜひこのレコーダー機能を積極的に使用して「PADが自動化のために、どのような記述や変数を使うのか」を読み取ってみるとよいでしょう。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

今回のフローでは、駅すぱあと for Webへの入出力は、レコーダーを使って自動記録し、あとから不要な情報を削除したり、Excelと連携するために、入力項目を変数化しています。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

まず、PADフローデザイナー画面上部の[レコーダー]ボタンをクリック→[記録]をクリックしたのち、駅すぱあと for Webトップ画面から、[目黒](出発地)[目白](到着地)を文字入力、[検索]ボタンを2回押します(1回目の検索で、迂回も含めた複数経路が提示されるためです)。得られた検索結果から、運賃情報をコピーしたところで記録を終了します。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

このように自動記録されました。出発地の入力窓をinput、到着地の入力窓をinput2として、検索をかけた結果であるspanという変数を取り出せば、目的が達成できることが分かりました。

※これは、駅すぱあと for Webのサイト構造にもとづいたフローであり、駅探やNAVITIMEなど、他の経路検索サイトから情報収集する場合は、別のフローを組む必要があります。また、画面デザイン変更などにより、このフローで情報収集をできなくなる場合もあります。

Excelへの情報入出力には、VBAと同様、ループ(反復処理)が使えます

レコーダーでWeb操作を記録した時には、入力窓に検索文字列を直接入力しましたが、このプログラムでは、(1)ExcelからWebへ情報を取り出して、(2)Web検索結果をExcelに返す、ところまでを自動化することとします。

ループ(反復処理)は、VBAが得意とする処理の1つですが、PADでも、VBAと同じように、Excelシートの情報操作をループ(反復処理)させることができます。

今回は、駅すぱあと for Webの「出発地」「到着地」入力窓へ入れる情報を、Excelシートから1行ずつ繰り返し取り出すために、

For each…End

というアクションを用いました。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

このFor each…End アクションにより、1回目はExcelシート1行目の出発地(目黒)、目的地(目白)でのWeb検索、2回目は2行目(原宿→渋谷)、3回目は3行目(新橋→巣鴨)というように、駅すぱあと for Webでの運賃検索がループ(反復処理)され、各行ごとの出発地-目的地に対応した交通系ICカード片道運賃が、正しくExcelシートの各行に追記されました。

Power Automate DesktopとExcel連携(2) Web検索結果をExcelへ取り込み

まとめ:ExcelとWeb情報のPAD連携が、今後ますます重要になります。自動記録やループなど、VBAで使うテクニックにも、なれておきましょう

ノーコード開発ツールの代表格であるPADも、じつはユーザー・インターフェースなどが改良されているだけで、操作性やプログラムの組み立て方が、Excel VBA/マクロに近いことをご理解いただけたでしょうか?

PADとVBAとをくらべる場合、冒頭のように「PADか? VBAか?」ではなく、どちらにも使いなれておいて、作業内容によって、各ツールの得意-不得意を見きわめながら、開発方法を決めていくことが効果的です。

Windows 11ユーザーであれば、PADは購入時点から標準インストールされていますが、Windows 10ユーザーの場合、2021年に無償化されたあとも、「ダウンロード→インストール」が必要なため、まだ触ったことがない人も多いことでしょう。

しかし、今後Excel VBAだけでWebを操作することが、セキュリティ上だんだん難しくなりますので、ぜひ一度、PADを自分のパソコンにダウンロードして、VBAとの類似点や相違点を見比べてみてはいかがでしょうか。

いままで、業務改善ツールの作成に関わってこられなかった同僚が、PADを使って、思いもよらなかった業務改善案を提案!、なんていうこともあるかもしれませんよ。

小さなお悩みでも、
お気軽にご相談ください!

お急ぎの方はお電話にてお問い合わせください

050-6867-2130
せるワザロゴ

セルワザでは、役に立つEXCELワザをご紹介しております!