ExcelシートのURLを読み取って、Webページのスクリーンショットを取得する
前のフローで作成したExcelブック(検索結果.xlsx)のURLのリストをもとに各URLをChromeで開いて、スクリーンショットを取得するフローを作成します。
[1]新しいフローを作成する
新規にフローを作成して、名前を付け、フローデザイナーを表示します。
[2]デスクトップフォルダーのパスを取得する
[フォルダー]アクショングループの[特別なフォルダーを取得]アクションを配置して、以下のように設定&保存します。
- 特別なフォルダーの名前:デスクトップ
- 生成されたフォルダーのパス:%DesktopPath%
[3][Excelの起動]アクションを配置する
[Excel]アクショングループの[詳細]―[Excelの起動]アクションを配置して、以下のように設定&保存します。
- Excelの起動:次のドキュメントを開く
- ドキュメントパス:%DesktopPath%\検索結果.xlsx
検索結果.xlsxは、前のフローの実行結果で作成されたExcelブックです。
[4]Excelワークシートを指定する
[アクティブなExcelワークシートの設定]アクションをフローの末尾に配置して、以下のように設定&保存します。
- ワークシート名:Sheet1
[5][Excelワークシートから読み取り]アクションを配置する
[Excel]アクショングループの[詳細]―[Excelワークシートから読み取り]アクションをフローの末尾に配置して、
- 取得:ワークシートに含まれる使用可能なすべての値
と設定して保存します。
[6][新しいChromeを起動する]アクションを配置する
[ブラウザー自動化]アクショングループの[新しいChromeを起動する]アクションをフローの末尾に配置して、以下のように設定&保存します。
- 初期URL:https://www.google.com/
[7][Loop]アクションを配置する
ループアクショングループの[Loop]アクションをフローの末尾に配置して、以下のように設定&保存します。
- 開始値:1
- 終了:3
- 増分:1
[8][Webページに移動します]アクションを配置する
[ブラウザー自動化]アクショングループの[Webページに移動します]アクションをLoopの中に配置して、以下のように設定&保存します。
- URL:%ExcelData[LoopIndex - 1][1]%
[9][Webページのスクリーンショットを取得します]アクションを配置する
[ブラウザー自動化]アクショングループの[Webデータ抽出]―[Webページのスクリーンショットを取得します]アクションをLoopの中の末尾に配置して、以下のように設定されていることを確認して保存します。
- キャプチャ:Webページ全体(初期値)
- 保存モード:クリップボード(初期値)
[10][新しいワークシートの追加]アクションを配置する
[Excel]アクショングループの[新しいワークシートの追加]アクションをLoopの中の末尾に配置して、以下のように設定&保存します。
- 新しいワークシート名:結果%LoopIndex%
- 名前を付けてワークシートを追加:最後のワークシート
[11][Excelワークシートに書き込み]アクションを配置する
[Excel]アクショングループの[Excelワークシートに書き込み]アクションをLoopの中の末尾に配置して、以下のように設定&保存します。
- 書き込む値:%ExcelData[LoopIndex - 1][0]%
- 書き込みモード:指定したセル上 (初期値)
- 列:1
- 行:1
[12][Excelワークシートにセルを貼り付け]アクションを配置する
[Excel]アクショングループの[詳細]―[Excelワークシートにセルを貼り付け]アクションをLoopの中の末尾に配置して、以下のように設定&保存します。
- 貼り付けモード:指定したセル上(初期値)
- 列:2
- 行:2
[13]動作確認する
フローを保存します。フローで開くExcelブックは閉じていることを確認し、フローを実行します。ブラウザの画面に、URLリストの最初の3件のページが順に表示されます。
フローの実行が終わると、検索結果のExcelブックにシートが追加され、各ページのキャプチャが貼り付けられていることが確認できます。
Webスクリーンショットについて、サンプルではクリップボードを経由してExcelシートに貼り付けるようにしましたが、画像ファイルとして保存することもできます。
今回のフローではブックの保存をしていないので、適切なフローにするためには[Excelの保存]や[Excelを閉じる]アクションなどで保存する必要があります。特定のExcelブックパスではなく、外部ファイルのパスにある同様の形式でURL一覧シートがあるブックを読み込むように改良することもできます。もしくは、URLに関しては前半のフローと組み合わせて、Excelではなくデータテーブル型変数に保存するようにして使用するという拡張も考えられます。
まとめ
Webブラウザーの自動化について説明しました。以前の回で紹介したローカルのファイルやExcel操作アクションと組み合わせることで、Power Automate Desktopのフローを使用して、Web上のデータの収集や保存を行うことができます。
