デスクワークを超絶快適にするおすすめギアたち詳しく見る

Power Automate for desktop 活用事例集!

じょじお

この記事は、当サイトのPower Automate for desktop(以下:PAD)の記事をまとめている記事です。私自身のブログネタ帳も兼ねています。

ぽこがみさま

PADはMicrosoftが提供する無料のRPAソフトだよ!

目次

Power Automate for desktopの基本

PowerAutomate for desktopの使い方

無料でできないことの解説・PADの歴史・Power PlatformにおけるPower Automate for Desktopの役割などの解説です。

▲インストール・画面の見方・基本的使い方の基本です。プログラミングには定番の「Hello World」をPower Automate for Desktopで表示させるフローを作成しながら学習します。

PowerAutomate for desktopの変数

▲Power Automate for Desktopの変数とは?Power automate for desktopを扱う上で欠かすことができない変数についての解説です。

PowerAutomate for desktopのエラー

▲Power Automate for Desktopのエラーをまとめている記事です。

現在準備中の記事(基本編)

  • Power Automate for desktopとPower Automateって違うの?(クラウドフローとデスクトップフローの違い)
  • Power Automate for desktopで困ったときに助けを求める方法。
  • ループ処理
  • ifを使った条件分岐処理
  • デバッグについて知っておいてほしいこと
  • 質問の仕方のコツ・質問する場所

ファイル・フォルダー操作(印刷)

フォルダー操作

フォルダーからファイルを取得する方法

印刷

▲フォルダー内のファイルを全部まとめて印刷する方法・入力ダイアログに入力したキーワードをファイル名に含むファイルだけを印刷する方法・印刷リストに列挙した品番にマッチするファイル名を持つファイルだけを印刷する方法

文字列操作・テキスト(.txt)操作

じょじお

PADでテキストを扱う時の知識についてまとめています。

テキストファイル操作の基本(読み込み・書き込み)

▲文字列操作の基本。テキストファイルの読み込み・書き込み・改行をするときの基本的なアクションの使い方について解説しています。

テキストの解析をして抽出する方法

▲文字列操作レベル2。テキストファイルから正規表現を使ってパターン検索する方法です。文章の中から商品名、電話番号、郵便番号、などパターンを使って柔軟に検索する方法について解説しています。

▲こちらはより簡単にパターン抽出する方法です。「エンティティからテキストを認識する」アクションを使えば、事前に定義されたパターンを使うことができるので専門的な知識を必要とせずにパターン抽出することができます。事前定義済みのパターンには【電話番号・URL・金額・ハッシュタグ・電話番号・メールアドレス・・・】などがあります。

テキスト(文字列)から特定の文字列を削除する方法

▲「テキストのトリミング」アクションを使ってテキストの文頭文末にあるスペースやタブ・改行を削除する方法です。リストを作り替える方法も解説しています。

▲「テキストを置換する」アクションを使って郵便番号や電話番号のハイフンを削除する方法です。

▲「テキストを置換する」アクションを使って文中のタブを削除する方法です。「テキストのトリミング」では文頭文末のタブしか削除できません。「テキストを置換する」アクションならそれができます。

▲「テキストを置換する」アクションを使って文中のスペースを削除する方法です。「テキストのトリミング」では文頭文末のタブしか削除できません。「テキストを置換する」アクションならそれができます。

▲上記以外の使用頻度の低いテキスト系アクションをまとめて解説しました。(ランダムテキストを生成・大文字小文字変換・テキストを反転

▲「テキストの分割」アクションを使って、文字列をリスト型変数に変換する方法です。

現在準備中の記事(文字列操作)

  • テキストに文字列を追記する2つの方法。(行を追加アクションによる追加・変数による追加)

ブラウザ自動操作(Webスクレイピング)

じょじお

ブラウザ操作・デスクトップアプリケーションの操作に必要な知識をまとめています。

UI要素の設定方法

▲ブラウザ操作やデスクトップアプリケーションの操作に必要な「UI要素」の解説とUI要素の設定のコツなどをまとめました。

▲レコーダーを使ってフローを作成したあとは、手動でパラメータを調整した方が柔軟性あるエラーが出にくいフローになります。

スクレイピングに必要な”最低限の”HTMLの知識(準備中)

▲準備中です。すみません。

スクレイピングする前に「ブラウザ開発者ツール」の使い方を知ろう!

▲ブラウザー自動化・スクレイピングするフローを作成するときはほぼ必ず使用する「ブラウザー開発者ツール」の使い方をまとめました。

Webフォームの入力・ログイン

▲Webブラウザを自動操作して、WebシステムにユーザーIDとパスワードを入力してログインするフローを作成しながら、Webブラウザ自動操作の基本的なアクションの使い方について解説しています。

▲RPAデモサイト「RPA Challenge」にPower Automate for desktopでチャレンジしてみた時の記録です。Webシステムに10件のExcelデータを登録するフローを作成しています。

Webサイトからファイルのダウンロード

IE限定の方法(こちらの方がおすすめ)

▲Webブラウザを自動操作して、Webサイトからファイルリンクをクリックしてダウンロードした後にファイルを開くフローの作成方法について解説しています。

IE以外でファイルをダウンロード

▲Webブラウザを自動操作して、Webサイトからファイルリンクをクリックしてダウンロードした後にファイルを開くフローの作成方法について解説しています。

Web上のデータの抽出(表・要素)

▲netkeibaの簡単なスクレイピング

スクレイピングしたExcelファイルにVBAマクロを実行する

▲スクレイピングしてダウンロードしたExcelファイルにそのままVBAを実行して結果をPADで受け取ってみました。

スクレイピングでページネーション(ページャー、ページ送り)

ページネーションとは?
ページネーションの例
じょじお

ページネーションとは複数ページにまたがる通販サイトなどのWebサイトでよくみる「次のページへ進む」ボタンです。ページの一番下にあります。

ぽこがみさま

「1,2,4,5,・・・ , 次へ」というやつだね。うちのブログでもカテゴリページで使っているよ。

じょじお

うん。ページャーページ送りページングなどと呼ぶこともあります。

▲Webブラウザを自動操作して、ページネーションに対応したWebサイト(複数ページに渡るサイト)から1ページずつ情報を抽出する方法について解説しています。

スクレイピングで無限スクロール

無限スクロールとはページネーションによって次のコンテンツを表示するのではなく、同一ページ内で下にページをスクロールすることによって次のコンテンツが自動的に読み込まれていく処理のことをいいます。YouTubeのコメント欄なんかに使われています。

一般的に、無限スクロールを採用しているWebサイトをスクレイピングすることは難しいといわれています。わたしもPADではやったことがないですが下記の記事が参考になるかと思います。試してみたら記事にしてみようと思います。

現在準備中の記事(Webスクレイピング系)

  • ログインの時にGoogle連携の小さいウィンドウがでてくるサイトのスクレイピング方法
  • キーの送信によってフォーム入力する方法
  • Webページからスクレイピングして取得したデータを使って、別のWebサイトをスクレイピングする方法
  • Webスクレイピングのために知っておきたいブラウザの開発者ツール(DebTools)の使い方
  • UI要素をセレクタビルダーを使ってゼロから記述する。
  • データ抽出(表・要素)
じょじお

個人的にPADはWebスクレイピングがめちゃめちゃ簡単にできるところが好きなところなので、この領域の記事は特に増やしていきたいと思っています。

スクレイピングってなぁに!?

スクレイピングとは、人間がWebブラウザーで操作する作業をロボットで自動化することです。複数のWebページから大量のデータをとってきたり、画像を収集したり、することができます。PADでは主に「ブラウザー自動化」グループの中に含まれるアクションを使ってスクレイピングを目的としたフローを作ることができます。Webスクレイピングともいいます。

スクレイピング以外にインターネット上のデータを取得する方法としては、APIを利用してデータ連携を行う方法があります。PADでもAPIのしくみを使って外部サービスとデータのやり取りをすることが可能です。APIを使ったデータ連携は下記の記事をご参考になさってください。APIが提供されているWebサービスのデータを取得する場合はまずAPI利用を検討した方がスクレイピングで実現するよりも圧倒的に簡単ですし動作も安定します。

スクレイピングするときの注意!

スクレイピングを禁止しているWebサイトは多いです。理由は「ロボットは人間よりも高速にWebページと通信を行うことができるためWebサービスをホストしているサーバに負荷がかかってしまうことがあるから」というのが主な理由です。禁止サイトにスクレイピングすることのないように注意してください。スクレイピングを禁止していないサイトにおいても利用の際は節度をもって自己責任でお願いします。

メール送信・Outlook操作系

Outlookメールの本文にExcel表を貼り付ける方法

▲Excel表をメール本文に張り付ける方法です。Excel表をもとにHTMLテーブルを作成してメール本文に挿入しました。

Outlookメールの本文に画像を貼り付ける方法

▲2022年2月の新機能「ファイルをBase64に変換」アクションを使ってHTMLにローカルPCの画像を挿入する方法です。Teamsにもローカル画像を送信することができます。

メールを時間・期間を指定して抽出する

現在準備中の記事(メール操作系)

  • 複数の添付ファイルを付けてメールを送信する方法(複数のリスト型変数からメール添付する方法)
  • メールの文章を特定の文字列パターンを抽出する(正規表現)
  • メールの添付ファイルがあるときと無い時がある時の条件分岐
  • メールにフォルダをZip圧縮して添付する方法

画像分析とかOCR(画像から文字列抽出)

OCR(文字抽出・文字起こし)

▲画像から「Tesseract OCRエンジン」を使ったOCR文字抽出(現在は2021年12月のアップデートによって新しく追加されたWindows OCR エンジンの利用をおすすめします)

Microsoft Cognitive Servicesを使った画像分析

▲Microsoft Azureの登録方法とComputer Visionを使ったOCRの基礎。

▲画像からMicrosoft Azureの「Computer Vision」を使った文字抽出(OCR)

▲画像から画像の説明文章を生成する。画像から画像にふさわしいタグを自動生成する。

▲画像に含まれるブランドロゴ・企業ロゴからブランド名・企業名を抽出する。

現在準備中の記事(画像分析)

  • Power Automate for Desktopで画像から顔認識して座標を取得する。
  • Power Automate for DesktopでGoogle Vision APIを使う方法。
OCRってなぁに!?

OCRとは画像データの中から文字列を抽出してテキスト化することだよ!(光学文字なんたらの略だった気がするよ!)

Excel操作系

Excelデータを読み込む

▲【初心者向け】Excelファイルから単一セルのデータを読み込む方法です。Excel読み込みの最も基本的な方法について解説しています。

▲複数セル・表データ、複数セルを一括で読み込む方法について解説しています。

▲複数セル・表データ、複数セルを一括で読み込む方法について解説しています。Excelを読み込んだ時に生成されるDatatable型変数(2次元配列)を後続のアクションで使用する方法についての基本部分について解説しています。

▲複数セル・表データ、複数セルを一括で読み込む方法について解説しています。Excelを読み込んだ時に生成されるDatatable型変数(2次元配列)を後続のアクションで使用する方法についてのもう少し踏み込んだ解説をしています。ループ処理で1行ずつ取り出したり、応用的に特定の行だけ検索したりする使い方の解説です。

▲【初心者向け】Excelファイルから単一セルのデータを読み込む基本最終行と最終列を取得する方法

Datatableを加工する

▲読み込んだDatatableをそのまま使うのではなく加工するデータの一部を加工して使用する方法です。(置換・型変換)

Excelに書き込む

▲【初心者向け】Excelファイルに書き込みを行う方法と2つの保存方法(名前を付けて保存・上書き保存)

▲Excelの転記方法・ループの中で1セルずつ書きこむ基本的な書きこみ方法です。

▲Excelの転記方法・Datatableを書きこむことで1アクションで複数セル同時に書き込む方法です。1セルずつ書きこむよりも高速に処理できます。(Datatableを新規作成する方法)

Excelへ書き込むとき、ループ処理の中で何度も「Excelへ書き込み」アクションを実行して1セルずつ書きこむと(セル数にもよりますが)処理時間がかかります。Datatableにして複数セル同時に書き込めばワンアクションで書き込みが完了して処理時間を短縮できるケースがあります。

▲「Excelの行の挿入」アクションを使用して請求書フォーマットに記入スペースを追加しながらExcelの転記を行う方法。

Excel VBAマクロ


▲PADでExcelマクロを実行する方法です。


▲PADでWebシステムからExcelファイルをダウンロードしてマクロを実行しました。

現在準備中の記事(Excel操作系)

  • Excelファイルをタイムスタンプ付きで別名保存する方法
  • 請求書に用意された行数よりも書き込むデータ数が多い時に、行の挿入を使って書きこむスペースを作る方法。
Column

クラウドフローでのExcel自動化はOffice Scriptがあるよ。

▲Power Automateのクラウドフローが使える環境にある場合は、Excelを自動操作する手段としてExcel Online版のマクロ言語であるOfficeスクリプトをクラウドフローと連携させて使う方法もあります。

VBAとPower Automate for desktopによるExcel操作の違い

VBAとの比較

Power Automate for desktopは非常に強力なツールですが、Excel操作に関してはExcel VBAと比べるとまだまだできることは少ないですし処理も遅いです。複雑なExcel操作は「Excelマクロを実行する」アクションでマクロに任せると良いかもしれません。

「Power Automat for DesktopでのExcel操作」と「Excel VBAでのExcel操作」の比較

  • PADはVBAよりは処理が遅い。
  • PADのExcel操作はVBAよりもできることが少ない。

PDF操作系

▲PDFから全文抽出するには、一番手っ取り早いです。特定の箇所だけ抽出する場合は↓の部分抽出する方法をご覧ください。

▲Tesseractエンジンを使ったPDFファイルのOCR。PDFを全文抽出する方法についてまとめています。(2021年12月のアップデートによりWindows OCRエンジンが追加されました。現在はそちらがおすすめです。)

▲新しく追加されたWindows OCRエンジンのレビューです。わたしはTesseract OCRエンジンよりこちらをおすすめします。

▲PDFから特定の文字(領域)を抽出する方法です。アンカー領域を目安にして特定の座標の文字列を抽出する方法です。

PDFの連結

現在準備中の記事(PDF操作系)

  • PDFから郵便番号や電話番号などの特定の文字列パターンを抽出する方法(正規表現)
  • PADで使用できる全OCR技術を比較してみた。
  • PDFデータの中の表を抽出してみた。

Power Automate クラウドフローとの連携

▲PADとクラウドフローの連携の一例です。

▲クラウドフローの活用事例です。

Power Automateクラウドフローデスクトップフローの連携には、Power Automate有料ライセンスが必要です。

Power Automate for desktopと外部アプリの連携・Web API連携

▲外部サービス(Google/LINE/Chatwork/楽天など)と連携するにはWebスクレイピングやUIオートメーションよりもAPIという仕組みを利用するとスムーズなケースが多いです。こちらの記事ではPADでWeb APIを実行するときの基礎知識について解説しています。

▲APIを使ってPADからLINEにメッセージを送信する方法です。

▲APIを使ってPADからChatworkにメッセージを送信する方法です。

▲APIを使ってPADからTeamsにメッセージを送信する方法です。

現在準備中の記事(アプリ連携)

  • Power Automate for DesktopでSlackにメッセージを送信する。
  • PADと会計ソフトFreeeを連携してみた。
  • PADとスプレッドシート連携してみた。

スクリプト実行系アクション

  • VBScript
  • PowerShaell
  • Cmd

Power Automate for Desktopの情報を収集する方法

▲Power Automate / Power Automate for Desktopの情報を取得したり、質問できる場所をまとめました。学習のご参考になさってください。

Power Automate・Microsoft系おすすめ書籍

その他

フローの途中でダイアログを表示してユーザに入力を求めたい時は?

▲フローの中で「入力すべき文言が都度変わるため人間の判断が必要」というケースがあるかと思います。そんな時は「入力ダイアログボックス」を表示させてフローの途中で人間の判断を介入させることができます。

(管理者向け)フローで実行できるアクションを制限したい時は?

▲新機能DLP(Data Loss prevention Polices)を使えばPower Automate for desktopで、フロー内で使えるアクションに制限をかけることができます。たとえばPADでのスクレイピングを禁止にするために「ブラウザー操作」グループに所属するアクションを禁止にすることもできます。(2022年01月10日時点でまだプレビュー版機能みたいです)

現在準備中の記事(その他)

  • 機密変数をクラウドフロー管理画面から確認するとどうなるのか?
  • PADからFAXを送信する方法。
  • PADのフローを他の人に共有する方法
  • PADのフローファイルのバックアップ方法
  • 有料版Power Automateを使って、他のサービスをトリガーにしてデスクトップフローを実行する方法
  • 有料版Power Automateを使って、デスクトップフローをスケジュール実行する方法
  • Power Automate for Desktopの中のプログミング言語『Robin(ロビン言語)』について知ろう。

ワークフローを自動化して、よりパワフルな自動化にトライしよう!

ワークフローを自動化しよう!

Power Automate for desktopは個人のPC作業の自動化は得意ですが、ワークフローの自動化に関してはPower Automateクラウドフローの方が得意です。

Power Automateクラウドフローは、例えば、上司の承認を求めて承認否認によって条件分岐するような複数人が絡む業務の一連の流れ(ワークフロー)を一貫して自動化できるので、Power Automate for desktop単体で自動化を行うよりもパワフルな自動化が実現できます。このためPower Automateクラウドフローが利用できる環境では、PADよりも先にクラウドフローでの実装を検討してみることをおすすめします。

ワークフローを見える化しよう!

RPAをいきなり実装するのではなく、先にワークフローの可視化をしてみることをおすすめします。ワークフローに関わるすべての人のタスクを洗い出してみて、タスクの数・かかる時間を”見える化” してみると、エンジニアリング以前に解決できる問題が見つかったり、そもそもやる必要のない作業工程が見つかったりするかもしれません!

まとめ

じょじお

以上、Power Automate for desktopの活用方法についてまとめました。

ぽこがみさま

この記事は追加があれば随時更新中です。またチェックしてみてください。

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

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

Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automate クラウドフローの入門書です。日本語の解説書は数少ないのでレアかと思います。変数の解説から代表的なアクションの解説がされているので初心者におすすめの本です。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

この記事が気に入ったら
フォローしてね!

シェアしてくれたらウレシイ(·:゚д゚:·)
  • URLをコピーしました!
  • URLをコピーしました!
目次
閉じる