デジタル人材への第一歩!「Power Automate」ではじめるローコードでの業務自動化

Power Automate for desktopのレコーディング機能を活用したフローの作成

第1回はPower Automate/Power Automate for desktopの概要と基礎について解説しました。

Power Automate のRPA機能であるPower Automate for desktop(デスクトップフロー)には、フローの開発を補助してくれる便利な機能や、より高度な業務プロセスにも対応できるような機能、安定性を図るための仕組みなど、多くの機能があります。

第2回は、Power AutomateのRPA機能である「Power Automate for desktop(デスクトップフロー⁠⁠」のフロー作成手順や代表的な機能について、練習用サイト(Webサイト)を使って解説します。

なお、実際にフローを作成する前に、使用するWebブラウザーにPower Automateの拡張機能がインストール済みであることを確認してください。もし拡張機能がインストールされていない場合は、この記事を参考にインストールしてください。

今回作成するデスクトップフロー

今回、実業務をイメージしたフローを作成するにあたり、以下のサイトを使います。

Power Automate Desktop練習サイト
URL:https://support.asahi-robo.jp/learn

作成するフローは次のとおりです。

  1. 練習サイトへログインする
  2. 売上一覧ページに遷移し、売上一覧を取得する
  3. 売上額の取得結果を円単位から千円単位に変換する
  4. 新規でExcelを起動し、取得した売上一覧をExcelへ書き込む
  5. Excelをデスクトップに保存し、ExcelファイルとWebブラウザーを閉じる
  6. 最後に処理完了のメッセージダイアログを表示する
図1 フロー全体の処理イメージ
図1

フローの作成

1. 新規フローを作成する

Power Automate for desktopのアプリを起動し、コンソール画面を表示します。コンソール画面の「+新しいフロー」から新規でフローを作成します。

図2 コンソール画面
図2

2. フローデザイナー画面を起動する

「フロー名」に好きな名前を入力し、⁠作成」ボタンをクリックします。

図3 フロー作成ウィンドウ
図3

フローデザイナー画面が起動します。デスクトップフローの作成や編集、デバッグ実行はすべてこの「フローデザイナー」上で行います。変数の設定やUI要素の登録・編集、画像の管理などデスクトップフローを扱う上で重要な操作もフローデザイナー上で行います。

図4 フローデザイナー画面
図4

フローデザイナーは以下の要素から構成されています。

① アクションペイン

デスクトップフローの自動化処理の機能である「アクション」の表示領域です。利用者はアクションペインからアクションをドラッグアンドドロップ、またはダブルクリックしてワークスペースに配置します。

② ワークスペース

ワークスペースは各アクションを配置する作業スペースです。ワークスペースに配置した各アクションの組み合わせによって業務プロセスの自動化を行います。

③ サブフロータブ

サブフローは一連のアクションの組み合わせをまとめることができる機能です。

フローはなるべく小さい粒度で作成するのがポイントです。そのため、サブフローを上手に利用しフローの管理や保守性を考慮したサブフローの配置を心がけましょう。

④ 変数ペイン

フロー内で使用される変数の検索や、デバッグ実行した際にそれぞれ変数に格納された値の確認など、変数に関する操作が可能な領域です。

フロー内で利用できる変数「フロー変数」と、クラウドフローとの連携や他のデスクトップフローと連携する際に利用する変数「入出力変数」があります。

⑤ UI要素ペイン

フロー内で使用するUI要素の追加・編集・削除など管理が可能な領域です。デスクトップアプリケーション、Webアプリケーションの操作対象となるテキストフィールドやボタン、チェックボックスなどのコントロール(部品)は、UI要素として情報を保持しているため、デスクトップフローで画面操作を行う上ではとても重要な要素となります。

⑥ 画像ペイン

フロー内で使用する画像を管理可能な領域です。UI要素とは違い、操作対象のコントロールを画像として記録させ、見つかった画像に対して処理するときに使います。

⑦ エラーペイン

デザイナー画面での開発や、デバッグ実行時に発生する各種エラーが表示される領域です。普段は表示されない領域ですが、アクションのエラーやランタイムエラーが発生した際に表示されます。

⑧ メニューバー

フローの編集機能(コピー・切り取り・貼付け)や拡張機能の追加、各種ヘルプへのリンクなど、フローの開発で必要な各操作がまとめられています。

⑨ ツールバー

フローの開発やテストを行う際に必要な機能が用意されています。

フローの保存、実行、停止、1アクション毎の実行、レコーダー機能が用意されています。

⑩ 状態バー

フローのステータス、選択されたアクション、フロー内のアクション数、サブフロー数の確認と、実行遅延の設定を行うことができます。

実行遅延とは、フローデザイナーからフローを実行した際に、各アクション間の実行間隔を設定できる機能です。コンソール画面から実行した際には影響しないため、あくまでもテスト実行時の動作検証で活用できる機能になります。

3. レコーダーウィンドウを表示する

ツールバーの「レコーダー」アイコンをクリックし、レコーダーウィンドウを表示します。

図5 レコーダー機能をクリック
図5

レコーダー機能は、Webブラウザーの操作や、デスクトップアプリケーションの操作など人が行った操作を自動的に適切なアクションに置き換えてくれる便利な機能です。どのアクションを使ってフローを作成していいかわからない場合でも、レコーダー機能を使うことで、操作の記録からアクションを自動配置してくれるため、フローの作成がスムーズになります。

4. レコーディングを開始するための準備をする

今回作成するフローの操作対象はWebブラウザーのため、レコーダーウィンドウの上部メニューの3点リーダーから「新しいWebブラウザーを起動する」を選択し、起動するブラウザーを選択します。なお、今回使用するブラウザーはMicrosoft Edgeとします。

図6 レコーダー機能の起動するブラウザーの選択
図6

選択すると、レコーダーウィンドウの「記録されたアクション」「Webブラウザーの起動」が配置されます。

図7 レコーダーにおける、Webブラウザーの起動アクション配置
図7

起動したWebブラウザーのURL欄に練習用サイトのURLhttps://support.asahi-robo.jp/learnを設定します。ここまでで、レコーダーを開始する準備は完了です。

8練習用サイト
図 8

なお、このURL設定は「Webブラウザーの起動」アクションの「起動 Microsoft Edge 移動先」にある「about:blank」を削除し、操作対象のURLを貼り付けてEnterキーを押すことでも可能です。

9「Webブラウザーの起動」アクションへのURL指定
図 9

5. レコーディングを開始する

「記録」をクリックし、レコーディングを開始します。これより行う操作(クリックやキーボード操作など)は、すべて記録されてアクションとして置き換えられます。

レコーディングさせたくない操作を行う場合は、レコーダーウィンドウの「一時停止」をクリックすることでレコーディングを一時的に止められます。また、誤った操作を記録してしまった場合は、⁠削除」アイコンからアクションを選択して削除できます。

図10 レコーディングの開始
図10

6. ログイン処理をレコーディングする

ログインページを操作し、ログイン処理をレコーディングしていきます。以下の操作を行います。

  • ユーザーID、パスワード:それぞれ「asahi」を入力する
  • 利用規約に同意する:チェックする
  • ログインボタン:クリックする

操作する対象のコントロール領域へマウスをフォーカスすると、赤枠が表示されます。この状態になると要素が取得できます。

通常、人が操作する際にはキーボードでエンターキーやタブキーを使って次の入力項目にフォーカスを遷移させたりしますが、その場合はキー送信の操作をレコーディングしてしまい、フローの安定性に欠けてしまいます。なるべくマウスクリックで対象のコントロールを都度指定するように意識しましょう。

図11 ユーザーIDのコントロール領域へフォーカス
図11
図12 利用規約のチェックボックスの操作
図12
図13 ログインボタンのクリック
図13

レコーディング後のアクションは、以下のように配置されます。

図14 レコーディング後のアクション
図14

7. ログイン処理のフローを確認する

レコーダーウィンドウの「完了」ボタンをクリックし、ログイン処理の操作がフローとして作成できているか確認します[1]

図15 フローの状況確認
図15

コメントとコメントの間で囲まれたアクションが実際にレコーダー機能を利用して生成されたアクションです。2行目~5行目がWebブラウザーの新規起動からログインボタンクリックまでの流れになります。

8. 売上情報の取得をレコーディングするための設定をする

続いて売上一覧情報の取得をレコーディングしていきます。レコーディングを開始し、先ほどレコーディングを行ったブラウザーを使って、売上一覧ページから売上日や得意先名称、売上額が表示されている一覧の情報を取得します。

図16 取得する対象の売上一覧情報
図16

ログイン後表示されるダッシュボードページの左側にあるメニューから「売上一覧」をクリックし、売上一覧ページに遷移します。

レコーダーウィンドウの「記録されたアクション」には、⁠Webブラウザーの起動」アクションが自動的に配置されています。⁠Webブラウザーの起動」アクションの次には、メニューの売上一覧をクリックした操作「Webページの要素をクリック」アクションが配置されることになります。

図17 レコーディングの開始とWebページの要素をクリック
図17

Webブラウザーの起動アクションは「アタッチする Microsoft Edge URL あり」となります。この操作によってデスクトップフローがWebブラウザーを操作するためのインスタンスを取得できます。インスタンスは、Webブラウザーが複数起動している場合でも、どのWebブラウザーを操作するのかを明示させる重要な要素です。

注意今回はレコーダー機能を使うことで自動的にインスタンスを取得するアクションが配置されましたが、レコーダー機能を使わずに1アクションずつ配置してフローを作成する場合には、起動中のWebブラウザーを操作する際にとても重要な処理となります。

9. 売上情報の取得操作をレコーディングする

次に売上一覧ページから売上情報を取得します。

売上日列「2021/04/01」に赤枠が表示されている状態で右クリックし、⁠HTMLテーブル全体を抽出する」を選択します。もし選択できない場合は、売上日列の項目に赤枠が表示されている状態で右クリックし、⁠要素の値を抽出」にフォーカスし、表示される「HTMLテーブル全体を抽出する」を選択します。

選択すると、売上一覧全体が緑の点線の枠で囲われます。この状態で売上一覧の情報が取得できるようになりました。

図18 HTMLテーブル全体を抽出する
図18
図19 HTMLテーブル全体を抽出後の画面
図19

売上一覧ページの売上一覧は、複数ページに分かれています。一覧の下部には「前、1、2、3、次」と表示されていて、ページ送り(ページャー)を持っています。

図20 売上一覧ページのページャー
図20

人が操作する場合には、各数字のボタンや「次」のボタンをクリックして次ページの一覧を表示することになります。フローを作成する際も「次」ボタンをクリックして情報を取得するといった流れを各アクションの配置によって表現できますが、Power Automate for desktopではページャー機能を活用することで複数ページにわたる情報も1つの情報として容易に取得できます。

実際にページャー機能を使ってみましょう。⁠次」のボタンを右クリックし、⁠要素をページャーとして設定」を選択します。選択すると「次」のボタンが青の点線で囲われます。

図21 ページャーの設定
図21
図22 ページャー要素の取得後
図22

ここまでの操作で売上一覧を取得するフローが作成できました。レコーダーの完了ボタンをクリックして、レコーディングを終了しましょう。

図23 レコーディングの完了
図23
図24 レコーディング終了後のフローの内容
図24

ここまでで、ログイン処理の後にWebページからデータを抽出するアクション等が配置されているか確認しましょう。

なお、アクションの配置が前後している場合はドラッグアンドドロップで配置を入れ替えられます。もし「新しいMicrosoft Edgeを起動」アクションより前に「Webページからデータを抽出する」アクション等が上部に配置されている場合は配置を変更してください。

図25 アクション配置の変更
図25

10. フローを保存する

「保存」ボタンをクリックしてフローを保存しましょう。

図26 フローの保存
図26

「保存」ボタンをクリックするか、ショートカットキーの「Ctrl+S」で適宜フローの情報を保存できます。保存しないと、作成したフローの情報はクラウド上へ保持されません。操作を誤ってせっかく作成したフローを消してしまわないように、適宜フローは保存するように心がけましょう。

11. フローをデバッグ実行する

ここまで作成したフローをデバッグ実行して正しく動作するか確認してみましょう。フローを開発していた際に開いていたWebブラウザーが既に起動している場合、×ボタンでブラウザーを閉じてからフローを実行します。

それでは、フローデザイナー画面の「実行」ボタンをクリックしてフローを実行してみます。

図27 フローのデバッグ実行
図27

フローを実行した結果、フローデザイナー画面のフロー変数ペインにあるフロー変数「OutputData」に売上一覧の取得結果が反映されているか確認します。

フロー変数「OutputData」をダブルクリック、または変数上で右クリックして「表示」を選択します。

図28 フロー変数「OutputData」の選択
図28

変数の値というウィンドウが表示され、取得した結果を一覧表示できます。実際に、練習用サイトの売上一覧ページに表示されていた売上一覧情報が正しく取得できていることがわかります。

図29 変数の値の確認
図29

12. 取得した売上一覧の売上額列の値を変換する

次に取得した売上一覧の売上額列の値を円単位から千円単位に変換する処理を行います。

データテーブル型の変数の値を変換するアクションには、最近のアップデート(2022年7月)で追加された「データテーブル内で検索または置換する」アクションを使います。

図31 データテーブルアクションの一覧
図31

「変数アクショングループ⁠⁠→⁠データテーブル⁠⁠→⁠データテーブル内で検索または置換する」アクションをワークスペースに配置します。そしてアクションのパラメーターの選択は以下のとおり設定します。

  • データテーブル:%OutputData%
  • 検索モード:検索して置換
  • 検索するテキスト:,[0-9]{3}$
  • 正規表現を使用して検索する:オン
  • 置換するテキスト:%''%
  • 検索条件:列の場合
  • 列のインデックスまたは名前:売上額
図32 パラメーターの選択の設定
図32

データテーブルの「変数の設定」をクリックし、表示されたフロー変数の「OutputData」を選択し、⁠選択」ボタンをクリックします。

図33 データテーブル項目への変数の設定
図33

13. Excelファイルへ書き込むための設定をする

次に売上額を千円単位表記に変更した売上一覧の情報をExcelファイルへ書き込みます。

アクションの検索に「Excel」と入力し、検索結果として表示された「Excelの起動」アクションをワークスペースにドラッグアンドドロップして配置するか、アクションをダブルクリックしてワークスペースに配置します。

なお、Excelに関連したアクションはすべてExcelアクショングループから設定可能です。

図34 Excelアクションの検索
図34

Excelの起動アクションのアクションダイアログでは以下のとおりパラメーターの選択を設定します。

  • Excelの起動:空のドキュメントを使用
  • インスタンスを表示する、詳細設定等は初期設定
図35 ダイアログの設定
図35

ここまでのフロー内容は以下のとおりになっているはずです。

図36 ここまでのフローの内容
図36

14. 売上一覧のヘッダー名をExcelに書き込む

「Excel ワークシートに書き込む」アクションで、起動したExcelに値を取得した売上一覧のヘッダー名を書き込みます。

書き込む値には、変数「OutputData」のプロパティ「ColumnHeadersRow」を設定します。

図37 ColumnHeadersRowの設定
図37

パラメーターの選択に設定する値は以下のとおりです。

  • Excelインスタンス:%ExcelInstance%
  • 書き込む値:%OutputData.ColumnHeadersRow%
  • 書き込みモード:指定したセル上
  • 列:A
  • 行:1
図38 Excelワークシートに書き込む(ヘッダー情報)
図38

15. 売上一覧の情報をExcelに書き込む

「Excel ワークシートに書き込む」アクションで売上一覧の情報をExcelに書き込みます。先ほどの処理でヘッダー情報を1行目に書き込んだため、売上一覧の情報を書き込む行は2行目とします。

パラメーターの選択に設定する値は以下のとおりです。

  • Excelインスタンス:%ExcelInstance%
  • 書き込む値:%OutputData %
  • 書き込みモード:指定したセル上
  • 列:A
  • 行:2
図39 Excelワークシートに書き込む(取得した売上一覧情報)
図39

16. Excelを保存して閉じる

データを書き込んだExcelを保存して閉じます。保存先はデスクトップ上に名前を付けて保存したいため、デスクトップのフォルダーパスを取得するアクション「特別なフォルダーを取得」を配置します。

「特別なフォルダーを取得」アクションは、フォルダーアクショングループ内から配置できます。パラメーターの選択で、⁠特別なフォルダーの名前」に指定した内容のパス情報を取得し、生成された変数に取得した結果を格納することが可能です。今回は変数「SpecialFolderPath」にデスクトップのパス情報が保持されます。

続いて「特別なフォルダーを取得」アクションを配置した後、Excelアクショングループの「Excelを閉じる」アクションをワークスペースに配置します。

パラメーターの選択に設定する値は以下のとおりです。

  • Excelインスタンス:%ExcelInstance%
  • Excelを閉じる前:名前を付けてドキュメントを保存
  • ドキュメント形式:既定(拡張機能から)
  • ドキュメントパス:%SpecialFolderPath%\売上一覧_千円単位
図40 特別なフォルダーを取得アクションの配置
図40
図41 Excelを閉じるアクションでExcelを保存し、閉じる
図41

参考情報Excelを保存する方法は、Excelを閉じるアクションで保存して閉じる方法と、⁠Excelを保存」アクションを使って保存する方法があります。どちらのアクションを使ってもExcelの「保存」の動作に違いはありませんが、Excelファイルを保存して閉じる動きにしたい場合は、Excelを閉じるアクションで処理させた方が1アクションで完結できるためフローがすっきりします。状況に応じて使い分けすることをお勧めします。

17. Webブラウザーを終了する処理を追加する

練習用サイトを開いたWebブラウザーを終了する処理を追加します。

Webブラウザーを閉じる処理は、ブラウザー自動化アクショングループの「Webブラウザーを閉じる」アクションで処理が可能です。パラメーターのWebブラウザーインスタンスに、⁠新しいMicrosoft Edgeを起動」アクションで生成された変数「Browser」を指定することでブラウザーを閉じることができまです。

図42 Webブラウザーを閉じるアクションの配置
図42

18. 処理の終了メッセージを表示する

処理が完了したことを伝えるための終了メッセージを表示します。

メッセージボックス アクショングループにダイアログ表示に関連したアクションが用意されています。今回はシンプルなメッセージボックスを表示するだけであるため、⁠メッセージを表示」アクションをワークスペースに配置します。

パラメーターの選択は以下のとおり設定します。

  • メッセージボックスのタイトル:練習フロー
  • 表示するメッセージ:処理が正常に完了しました!
図43 メッセージを表示アクションの配置
図43

これでフローはすべて完成です。

動作確認のため、フローデザイナー画面から実行してみましょう。処理完了のメッセージボックスが表示され、自分のデスクトップに売上一覧が転記されたExcelが保存されていれば成功です。

図44 完成したフロー(1~15行目)
図44
図45 完成したフロー(6~20行目)
図45

フローの実行

最後に、実運用をイメージしてコンソール画面からフローを実行してみます。コンソール画面から作成したフローを選択し、実行ボタンをクリックします。

図46 コンソール画面からのフロー実行
図46

コンソール画面からフローの実行状況を適宜確認したい場合は、コンソール画面の設定機能から監視/通知設定を「フロー監視ウィンドウ」に変更することでフローの実行中のアクションやサブフロー、実行時間などをダイアログから確認できます。

図47 フローの監視/通知設定
図47
図48 フローの実行状況監視用のウィンドウ
図48

まとめ

第2回ではPower Automate for desktopの機能であるレコーダーを使って、Webブラウザーから情報を取得し、Excelへ取得した情報を保存するシンプルなフローを作成しました。

Webブラウザーやデスクトップアプリケーションの操作はレコーダー機能を使うことで配置するアクションがわからない場合でも最適なアクションを自動的に配置してくれるため、容易に開発できます。上手にレコーダー機能も組み合わせることで、より短時間で自動化フローの開発も実現可能です。

次回はデスクトップフローの作成についてUI要素の編集にも触れながら、もう少し踏み込んだ内容を紹介していきます。

参考情報

筆者のサイトにて、以下の事柄を詳しく説明しています。

おすすめ記事

記事・ニュース一覧