Power Automate DesktopでWebデータを自動取得しExcel保存する手順(株価・時系列データの事例付き)

2025年12月24日

はじめに

事務作業におけるWebからの手動データコピペは、時間の消費だけでなく、ヒューマンエラーによるリスクを内包しています。これは、業務の確実性を損なう要因となります。

Power Automate Desktop(PAD)のWebスクレイピング機能を活用することで、これらの非効率性から脱却し、データを確実かつ効率的にExcelに自動連携するプロセスを確立する方法を解説します。

Webスクレイピングは、Webページから自動的にデータを抽出・収集する技術です。人間が手動で行うコピペ作業を、ソフトウェアが代行することで、大量のデータを正確かつ迅速に処理できます。

PADでは、この技術をプログラミング知識なしで利用できる環境が提供されています。

本記事は、IT初心者の方でも手順通りに進められるよう、具体的な事例(Yahoo!ファイナンスの株価データ)を基に解説します。

概要解説動画

事前準備

PAD拡張機能のインストールとブラウザーの準備

Webブラウザー(EdgeまたはChrome)で自動操作を行うために必須となる拡張機能のインストールについては、Power Automate Desktopのブラウザー拡張機能インストールをご参照ください。

そしてPADのフローを作成する前に、操作対象のWebページ(例:Yahoo!ファイナンスの株価データページ)を事前に開いておくことで、設定時の視認性と効率性が向上します。

Webスクレイピング手順:Webの表データをExcelに取り込む

【STEP 1】ブラウザーの起動と特定URLの指定

このSTEPではデータ取得対象のページを設定します。

サンプルではMicrosoft Edge を利用します。

  1. Power Automate Desktopを起動し、新しいフローを作成
  2. アクション一覧から「ブラウザー自動化」→「新しいMicrosoft Edgeを起動」を配置
  3. 「初期URL」に次を入力 https://finance.yahoo.co.jp/quote/998407.O/history

【STEP 2】「Webページからデータを抽出する」アクションの配置と設定

Webページの表を設定する手順

このSTEP2と3ではデータ取得対象の表(HTMLテーブル)を設定します。

  1. アクション一覧から「ブラウザー自動化」→「Webページからデータを抽出する」を選択
  2. 「ブラウザーインスタンス」は、STEP 1で起動したブラウザーが自動選択される
  3. 「データ保存モード」を「Excelスプレッドシート」に設定

【STEP 3】ライブWebヘルパーでのデータ取得元を指定

Webページからデータを抽出する」アクションからブラウザーに移動すると「ライブWebヘルパー」が起動します。

あらかじめ開いておいた株価(データ取得元)のページに移動し、抽出したいHTMLテーブル(株価履歴の表)の任意のセルを右クリックします。

そして「HTMLテーブル全体を抽出する」を選択します。

「ライブWebヘルパー」にサンプルデータが表示されます。

取得する対象が1ページのみであれば、このままアクションを保存して【STEP 4】に移ります。

ページ移動して全ページを取得したい場合は、ページャーの設定を行います。

それにはページ移動するリンク(今回の例では「>」のspan)を右クリックします。

ページャーの設定が完了すると「次のページに対応する値が表示されます」。

この状態で「ライブWebヘルパー」を終了し、「Webページからデータを抽出する」アクションを保存します。

【STEP 4】「Excelを閉じる」アクションの配置と設定

このSTEPはExcelファイルの保存する設定です。この設定を行わないと抽出したデータが残りません。

  1. アクション一覧から「Excel」→「Excelを閉じる」を選択
  2. 「Excelを閉じる前」に「名前を付けてドキュメントを保存」し、「ドキュメントパス」に保存場所とファイル名を指定して保存します。

【STEP 5】ブラウザーの終了

処理完了後のブラウザー終了手順です。

  1. 「ブラウザー自動化」から「Web ブラウザーを閉じる」をドラッグします
  2. 「Webブラウザーインスタンス」に変数「Browser」を指定(順序通りに設置している場合、自動設定されます)
  3. 「保存」をクリックします

画面を残したい場合は省略可能ですが、一般的には自動終了が推奨されます。

まとめ:生成AIと組み合わせた新たなデータ活用の可能性

PADによるWebデータの効率的な自動取得は、手作業を排除し、業務の質を確実に改善します。

特に定期的なデータ更新が必要な業務において、時間短縮とミス削減の両面で顕著な効果を発揮します。

取得したExcelデータを活用することで、生成AI(Gemini/ChatGPT)と連携させ、データ分析やレポート作成を自動化する新たな可能性が開かれます。

例えば、株価データの傾向分析、月次レポートの自動生成など、従来は専門知識が必要とされていた領域への参入が可能となります。

【参考情報】スクリプトによるフローの共有と活用

PADで作成されたフローをテキスト形式で表現したものです。

このコードを貼り付けることで、同じフローを瞬時に再現できます。

Webサイトの構造変更により動作しなくなる場合があります。

その際は本文の手順に従って、Webヘルパー機能を用いてフローを再作成してください。

日経平均版

WebAutomation.LaunchEdge.LaunchEdge Url: $'''https://finance.yahoo.co.jp/quote/998407.O/history''' WindowState: WebAutomation.BrowserWindowState.Normal ClearCache: False ClearCookies: False WaitForPageToLoadTimeout: 60 Timeout: 60 PiPUserDataFolderMode: WebAutomation.PiPUserDataFolderModeEnum.AutomaticProfile TargetDesktop: $'''{\"DisplayName\":\"ローカル コンピューター\",\"Route\":{\"ServerType\":\"Local\",\"ServerAddress\":\"\"},\"DesktopType\":\"local\"}''' BrowserInstance=> Browser
WebAutomation.ExtractData.ExtractHtmlTableUsingPagingFromAllPagesInExcel BrowserInstance: Browser Control: $'''html > body > div:eq(0) > div:eq(1) > main > div > div:eq(1) > div:eq(0) > div:eq(1) > div:eq(1) > div:eq(1) > table''' ExtractionParameters: {[$'''日付''', $'''始値''', $'''高値''', $'''安値''', $'''終値'''], [$'''''', $'''''', $'''''', $'''''', $''''''] } UsePhysicalClick: False PagerCssSelector: $'''div[id=\"root\"] > main > div > div:eq(1) > div:eq(0) > div:eq(1) > div:eq(1) > div:eq(2) > div > p:eq(1) > span > span, html > body > div:eq(0) > div:eq(1) > main > div > div:eq(1) > div:eq(0) > div:eq(1) > div:eq(1) > div:eq(2) > div > p:eq(1) > span > span''' PostProcessData: False TimeoutInSeconds: 60 ExcelInstance=> ExcelInstance
Excel.CloseExcel.CloseAndSaveAs Instance: ExcelInstance DocumentFormat: Excel.ExcelFormat.FromExtension DocumentPath: $'''C:\\Test\\Test.xlsx'''
WebAutomation.CloseWebBrowser BrowserInstance: Browser

個別株版

SET endDate TO $'''2025/07/26'''
# 設定終了。この先、編集の必要な個所はありません。
# ページング機能を単純に使うだけでは無限にクリックするので、指定日付からページングの最大数を計算しておく
DateTime.Subtract FromDate: endDate SubstractDate: startDate TimeUnit: DateTime.DifferenceTimeUnit.Days TimeDifference=> TimeDifference
Variables.TruncateNumber.GetIntegerPart Number: TimeDifference / 20 + 1 Result=> maxPagingCount
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: startDate CustomFormat: $'''yyyyMMdd''' Result=> startDateTxt
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: endDate CustomFormat: $'''yyyyMMdd''' Result=> endDateTxt
WebAutomation.LaunchEdge.LaunchEdge Url: $'''https://finance.yahoo.co.jp/quote/%code%/history?from=%startDateTxt%&to=%endDateTxt%&timeFrame=d''' WindowState: WebAutomation.BrowserWindowState.Normal ClearCache: False ClearCookies: False WaitForPageToLoadTimeout: 60 Timeout: 60 PiPUserDataFolderMode: WebAutomation.PiPUserDataFolderModeEnum.AutomaticProfile TargetDesktop: $'''{\"DisplayName\":\"ローカル コンピューター\",\"Route\":{\"ServerType\":\"Local\",\"ServerAddress\":\"\"},\"DesktopType\":\"local\"}''' BrowserInstance=> Browser
WebAutomation.ExtractData.ExtractHtmlTableUsingPagingFromNumberOfPagesInExcel BrowserInstance: Browser Control: $'''html > body > div:eq(0) > div:eq(1) > main > div > div:eq(1) > div:eq(0) > div:eq(1) > section:eq(0) > div > table''' ExtractionParameters: {[$'''日付''', $'''始値''', $'''高値''', $'''安値''', $'''終値''', $'''出来高''', $'''調整後終値*'''], [$'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $''''''] } MaxWebPagesToProcess: maxPagingCount UsePhysicalClick: False PagerCssSelector: $'''div[id=\"pagerbtm\"] > ul > li:eq(6) > button > span:eq(0), html > body > div:eq(0) > div:eq(1) > main > div > div:eq(1) > div:eq(0) > div:eq(1) > section:eq(0) > div > div:eq(3) > ul > li:eq(6) > button > span:eq(0)''' PostProcessData: False TimeoutInSeconds: 10 ExcelInstance=> ExcelInstance
WebAutomation.CloseWebBrowser BrowserInstance: Browser
Excel.SaveExcel.SaveAs Instance: ExcelInstance DocumentFormat: Excel.ExcelFormat.FromExtension DocumentPath: $'''C:\\Test\\Test.xlsx'''

関連記事

初心者向けの記事一覧

実用例の記事一覧

Excelの記事一覧

Power Automate Desktopを「最短」で習得したい方へ

「Webで情報を探す時間がもったいない」と感じていませんか

当サイトの人気記事を体系的に整理し、一冊の電子書籍にまとめました 。

ページをめくるだけで、基礎から応用まで階段を登るようにスキルアップできます。

オフラインでも読めるため、通勤時間や移動中の学習にも最適です。

【本書で学べること】

  • 基本操作とフローの作成手順
  • Excel、Outlook、Webブラウザの自動化 * 実務で必須のエラー処理と頻出テクニック

Kindle Unlimited会員なら追加料金なし(0円)でお読みいただけます。