SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Power Automate Desktopチュートリアル

Windows10の無償デスクトップ自動化ツール「Power Automate Desktop」でブラウザー上でスクリーンショットを取得する

Power Automate Desktopチュートリアル 第7回

  • X ポスト
  • このエントリーをはてなブックマークに追加

ExcelシートのURLを読み取って、Webページのスクリーンショットを取得する

 前のフローで作成したExcelブック(検索結果.xlsx)のURLのリストをもとに各URLをChromeで開いて、スクリーンショットを取得するフローを作成します。

[1]新しいフローを作成する

 新規にフローを作成して、名前を付け、フローデザイナーを表示します。

[2]デスクトップフォルダーのパスを取得する

 [フォルダー]アクショングループの[特別なフォルダーを取得]アクションを配置して、以下のように設定&保存します。

  • 特別なフォルダーの名前:デスクトップ
  • 生成されたフォルダーのパス:%DesktopPath%

[3][Excelの起動]アクションを配置する

 [Excel]アクショングループの[詳細]―[Excelの起動]アクションを配置して、以下のように設定&保存します。

  • Excelの起動:次のドキュメントを開く
  • ドキュメントパス:%DesktopPath%\検索結果.xlsx

 検索結果.xlsxは、前のフローの実行結果で作成されたExcelブックです。

Excelの起動アクションを配置
Excelの起動アクションを配置
Excelの起動アクションの設定
Excelの起動アクションの設定

[4]Excelワークシートを指定する

 [アクティブなExcelワークシートの設定]アクションをフローの末尾に配置して、以下のように設定&保存します。

  • ワークシート名:Sheet1

[5][Excelワークシートから読み取り]アクションを配置する

 [Excel]アクショングループの[詳細]―[Excelワークシートから読み取り]アクションをフローの末尾に配置して、

  • 取得:ワークシートに含まれる使用可能なすべての値

と設定して保存します。

Excelワークシートから読み取りアクションを配置
Excelワークシートから読み取りアクションを配置
Excelワークシートから読み取りアクションの設定
Excelワークシートから読み取りアクションの設定

[6][新しいChromeを起動する]アクションを配置する

 [ブラウザー自動化]アクショングループの[新しいChromeを起動する]アクションをフローの末尾に配置して、以下のように設定&保存します。

  • 初期URL:https://www.google.com/
新しいChromeを起動するアクションを配置
新しいChromeを起動するアクションを配置
新しいChromeを起動するアクションの設定
新しいChromeを起動するアクションの設定

[7][Loop]アクションを配置する

 ループアクショングループの[Loop]アクションをフローの末尾に配置して、以下のように設定&保存します。

  • 開始値:1
  • 終了:3
  • 増分:1
Loopの配置
Loopの配置
Loopの設定
Loopの設定

[8][Webページに移動します]アクションを配置する

 [ブラウザー自動化]アクショングループの[Webページに移動します]アクションをLoopの中に配置して、以下のように設定&保存します。

  • URL:%ExcelData[LoopIndex - 1][1]%
bページに移動しますアクションを配置
ページに移動しますアクションを配置
Webページに移動しますアクションの設定
Webページに移動しますアクションの設定

[9][Webページのスクリーンショットを取得します]アクションを配置する

 [ブラウザー自動化]アクショングループの[Webデータ抽出]―[Webページのスクリーンショットを取得します]アクションをLoopの中の末尾に配置して、以下のように設定されていることを確認して保存します。

  • キャプチャ:Webページ全体(初期値)
  • 保存モード:クリップボード(初期値)
Webページのスクリーンショットを取得しますアクションを配置
Webページのスクリーンショットを取得しますアクションを配置

[10][新しいワークシートの追加]アクションを配置する

 [Excel]アクショングループの[新しいワークシートの追加]アクションをLoopの中の末尾に配置して、以下のように設定&保存します。

  • 新しいワークシート名:結果%LoopIndex%
  • 名前を付けてワークシートを追加:最後のワークシート
新しいワークシートの追加アクションを配置
新しいワークシートの追加アクションを配置
新しいワークシートの追加アクションの設定
新しいワークシートの追加アクションの設定

[11][Excelワークシートに書き込み]アクションを配置する

 [Excel]アクショングループの[Excelワークシートに書き込み]アクションをLoopの中の末尾に配置して、以下のように設定&保存します。

  • 書き込む値:%ExcelData[LoopIndex - 1][0]%
  • 書き込みモード:指定したセル上 (初期値)
  • 列:1
  • 行:1
Excelワークシートに書き込みアクションを配置
Excelワークシートに書き込みアクションを配置
Excelワークシートに書き込みアクションの設定
Excelワークシートに書き込みアクションの設定

[12][Excelワークシートにセルを貼り付け]アクションを配置する

 [Excel]アクショングループの[詳細]―[Excelワークシートにセルを貼り付け]アクションをLoopの中の末尾に配置して、以下のように設定&保存します。

  • 貼り付けモード:指定したセル上(初期値)
  • 列:2
  • 行:2
Excelワークシートにセルを貼り付けアクションを配置
Excelワークシートにセルを貼り付けアクションを配置
Excelワークシートにセルを貼り付けアクションの設定
Excelワークシートにセルを貼り付けアクションの設定

[13]動作確認する

 フローを保存します。フローで開くExcelブックは閉じていることを確認し、フローを実行します。ブラウザの画面に、URLリストの最初の3件のページが順に表示されます。

 フローの実行が終わると、検索結果のExcelブックにシートが追加され、各ページのキャプチャが貼り付けられていることが確認できます。

フロー実行結果のExcelシート
フロー実行結果のExcelシート

 Webスクリーンショットについて、サンプルではクリップボードを経由してExcelシートに貼り付けるようにしましたが、画像ファイルとして保存することもできます。

 今回のフローではブックの保存をしていないので、適切なフローにするためには[Excelの保存]や[Excelを閉じる]アクションなどで保存する必要があります。特定のExcelブックパスではなく、外部ファイルのパスにある同様の形式でURL一覧シートがあるブックを読み込むように改良することもできます。もしくは、URLに関しては前半のフローと組み合わせて、Excelではなくデータテーブル型変数に保存するようにして使用するという拡張も考えられます。

まとめ

 Webブラウザーの自動化について説明しました。以前の回で紹介したローカルのファイルやExcel操作アクションと組み合わせることで、Power Automate Desktopのフローを使用して、Web上のデータの収集や保存を行うことができます。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Power Automate Desktopチュートリアル連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15546 2022/02/22 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング