はじめに

Power Automate Desktopとは、Microsoftが提供しているクラウドのRPAツールです。今回はサンプルアプリを使用して、実際に業務の自動化を行ってみます。
※本記事はPower Automate Desktop for Windows 10を対象として記載しています。

RPA実行の事前準備

2020年10月、Power Automate Desktop の発表に合わせてマイクロソフトは「RPA in a day」という教材のバージョン2をリリースしましたが、そこにはレガシーアプリケーション(古いアプリ)の例として、皆さんが利用できるサンプルアプリ「Contoso Invoicing」という英語のアプリが含まれていました。今回はマイクロソフトが作成した同アプリの日本語版を使用して、RPA、業務自動化の練習をしてみます。

参考:Power Automate Desktop でRPAを試すための日本語版サンプルレガシーアプリを公開

RPAのシナリオを考える

今回のシナリオは、Excelファイルに記載されている顧客情報を、サンプルアプリの顧客管理に登録する業務を自動化します。なお、これだけでは抽象的なため、処理や手順を詳細に分解してみます。

1. 顧客情報が入ったExcelファイルを開く
2. 顧客名、連絡先名、連絡先Eメールの情報を見る
3. サンプルアプリを起動する
4. 上記の情報をサンプルアプリに入力する
5. 2~4を必要な回数(記載されている顧客数分)繰り返す
6. 保存して終了

実際に業務を行う上での手順は上記のようになりますね。

ダウンロードとインストール

こちらのリンクをクリックしてインストール用のファイルContosoInvoicingSetupJP.zipをダウンロードします。※自動で開始されます。

ダウンロードしたZIPファイルを解凍し、中にある「ContosoInvoicingSetupJP.msi」というファイルを起動します。

RPA Power Automate Desktop

セットアップウィザードが開始されます。「次へ」をクリックします。

RPA Power Automate Desktop

インストール先を選びます。特に変更がなければこのままの状態で「次へ」をクリックします。

RPA Power Automate Desktop

「次へ」をクリックします。

RPA Power Automate Desktop

ユーザアカウント制御の画面が表示されますので、「はい」をクリックします。

RPA Power Automate Desktop

インストールは完了です。「閉じる」をクリックします。

RPA Power Automate Desktop

サンプルアプリの起動

インストールすると、デスクトップ上には「請求デモアプリ」というショートカットが作成されます。こちらを起動すると日本語化されたContoso Invoicingアプリが開きます。

RPA Power Automate Desktop

これでサンプルアプリの準備は整いました。続いて入力元となるデータを作成します。

RPA Power Automate Desktop

Excelの顧客データを作成する

Excelで以下のようなファイルを作成します。
このファイルの2行目から最終行までの顧客情報を、サンプルアプリに登録する作業です。

RPA Power Automate Desktop

作成したファイルを「顧客情報.xlsx」という名前で保存しておきます。これですべての事前準備は完了です。次から実際にRPAのフローを作成します。

RPAフローの作成 (データの取得)

シナリオを考える際に以下のように分類しました。

1. 顧客情報が入ったExcelファイルを開く
2. 顧客名、連絡先名、連絡先Eメールの情報を見る
3. サンプルアプリを起動する
4. 上記の情報をサンプルアプリに入力する
5. 2~4を必要な回数(記載されている顧客数分)繰り返す
6. 保存して終了

わかりやすく進めるために、大きく3つの処理に分けて進めていきます。
(A) Excelからデータを取得する処理(1~2)
(B) サンプルアプリにデータを登録する処理(3~4)
(C) 繰り返し処理を実行する処理(5~6)

はじめに簡単な作りにするため、(A)の処理を作成します。Power Automate Desktopを起動して、「+新しいフロー」をクリックします。

RPA Power Automate Desktop

フロー作成画面が起動します。フロー名に「顧客データ入力」と入力し、「作成」をクリックします。

RPA Power Automate Desktop

フロー作成を進めます。

RPA Power Automate Desktop

Excelの顧客データファイルを開く

まずは顧客データファイルが格納されている、「顧客情報.xlsx」というExcelファイルを開くところから始まります。アクションから「Excel」>「Excelの起動」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

RPA Power Automate Desktop

詳細画面が起動します。「Excelの起動」は「次のドキュメントを開く」、ドキュメント パスに先程作成した、「顧客情報.xlsx」を指定して、「保存」をクリックします。

RPA Power Automate Desktop

画面下部に「> 生成された変数 ExcelInstance」と表示されています。これは、開いた「顧客情報.xlsx」を、このフローの中では「ExcelInstance」という名前で扱いますという意味です。

作成したアクションが動くのかどうか試します。「▷」ボタンをクリックして、実行します。

RPA Power Automate Desktop

このように一つ一つ処理を登録していきます。

Excelからデータを取得する

先ほど開いた「顧客情報.xlsx」からデータを取得します。
Excelファイルからデータを取得するには、表内のどこからどこまでを取得するのかを指定する必要があります。今回は、どこからどこまで取得するのかは明確なのですが、ある程度フォーマットが決まったものでもファイルによって取得範囲が異なる場合があります。
顧客情報.xlsxは必ず1行目からスタートし、3列のデータですが、最終行が変動するファイルです。そのため、最終行はどこなのかを確認する必要があります。

「Excel」>「詳細」>「Excelワークシートから列における最初の空の行を取得」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

RPA Power Automate Desktop

列に「A」と入力し、「保存」をクリックします。この内容は、ExcelInstance=顧客情報.xlsxのA列の最初の空の行を取得しています。

RPA Power Automate Desktop

今回のファイルは、4行目までデータが入力されていましたので、最初の空の行は5行目となり、「5」が取得されます。そのため、今回は「>生成された変数 FirstFreeRowOnColumn」に「5」が設定されました。

Excelワークシートからデータの読み取り

顧客情報.xlsxから登録を行う情報を読み取ります。「Excel」>「Excelワークシートから読み取り」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

RPA Power Automate Desktop

「取得」に「セル範囲の値」、「先頭列」に「A」、「先頭行」に「2」、「最終列」に「C」、「最終行」に「%FirstFreeRowOnColumn – 1%」と入力して、「保存」をクリックします。

RPA Power Automate Desktop

ExcelInstance=顧客情報.xlsxのA~C列、2行目 ~ FirstFreeRowOnColumn=最初の空行 (5) – 1行の範囲を取得するよう設定しています。ここで取得したデータは、「ExcelData」に設定されます。

実際にどのようなデータが設定されたのか確認します。「▷」ボタンをクリックして、実行します。実行後に画面右側の「フロー変数」を確認すると以下のようになります。
続いて、「ExcelData」をダブルクリックします。

RPA Power Automate Desktop

顧客情報.xlsxの内容が取得できたら、「閉じる」をクリックします。

RPA Power Automate Desktop

Excelファイルを閉じる

続いて、顧客情報.xlsxを閉じます。「Excel」>「Excelを閉じる」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

RPA Power Automate Desktop

内容は特に変更する必要がありませんので、「保存」をクリックします。

RPA Power Automate Desktop

ここまででのフローは以下のようになります。

RPA Power Automate Desktop

再度、「▷」ボタンをクリックして、実行します。顧客情報.xlsxが閉じるところまで確認ができたら、保存ボタンをクリックして、ここまでの処理を保存します。

RPAフロー作成 – データ登録準備 –

サンプルアプリに登録する処理を作成します。

サンプルアプリを起動する

まず、サンプルアプリである、「請求デモアプリ」を起動します。
「システム」>「アプリケーションの実行」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

「アプリケーションパス」に「C:\Program Files (x86)\Contoso, Inc\請求デモアプリ\LegacyInvoicingApp.exe」と入力し、他の部分は変更せずに「保存」をクリックします。
※インストール先を変更した場合は、上記パスも変更してください。

ここで誤りがあるとこのあとの処理が進みませんので、「︙」>「ここから実行」の順にクリックして、「アプリケーションの実行」のみ実行します。

サンプルアプリの「請求デモアプリ」が起動したら、
この後の処理で使用しますので、サンプルアプリは起動したままにしておきます。

繰り返し処理を設定する

ここで繰り返し処理を作成します。本来であれば、顧客データの入力処理を作成してから設定したいところなのですが、変数の設定が後で煩雑になるため、ここで設定してします。

「ループ」>「For each」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

「反復処理を行う値」に「%ExcelData%」と入力し、「保存」をクリックします。
これは、%ExcelData%(Excelから取得したデータ)の全行に対して反復処理を行う設定です。

これで繰り返し処理が登録されました。「ExcelData」のデータ内容を「CurrentItem」として扱い、「For each」から「End」の間にある処理を「CurrentItem」の個数分繰り返す処理です。

RPAフロー作成–データ登録–

新規登録の操作

顧客データの入力準備を行います。サンプルアプリは起動しているので、新規登録する操作を指定します。
「UIオートメーション」>「ウィンドウのUI要素をクリックする」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

「プルダウンボタン」>「新しいUI要素の追加」をクリックします。

サンプルアプリの画面を表示し、左上の「新規作成」ボタンにマウスを合わせると、赤枠が表示されます。その後、「Ctrl」キーを押しながら、マウスでクリックします。
画面にはCtrl + 左矢印を押してからクリックと表示されますが、左矢印を押す必要はありません。

以下のように要素が登録されていれば成功です。「完了」をクリックします。

「UI要素」に以下のように登録されているはずですので、「保存」をクリックします。

顧客データの入力

続いて、顧客データの入力を行います。
サンプルアプリは起動しており、新規登録する操作も完了していますので、どこに、どのデータを入力するのかを指定します。
「UIオートメーション」>「フォーム入力」>「ウィンドウ内のテキストフィールドに入力する」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

「プルダウンボタン」>「新しいUI要素の追加」をクリックします。

サンプルアプリの画面を表示し、「顧客名」の右側の入力フィールドにマウスを合わせると、赤枠が表示されます。その後、「Ctrl」キーを押しながら、マウスでクリックします。
「追跡セッション」が追加されたら、「完了」をクリックします。

「テキストボックス」に以下のように登録されているはずですので、「入力するテキスト」に「%CurrentItem[0]%」と入力し、「保存」をクリックします。

「CurrentItem[0]」は「ExcelData」で読み込んでいる、0番の列を表しています。

これで、「顧客名」の設定はできました。
同様の操作で「連絡先名」と「連絡先Eメール」の設定を行います。
その際の「入力するテキスト」は「%CurrentItem[1]%」と「%CurrentItem[2]%」を設定します。設定後は以下のような状態になっているはずです。

処理概要を改めて説明しておきます。

6:繰返し処理の開始
7:新規作成のボタンをクリック
8:「顧客名」に0番の列のデータを入力
9:「連絡先名」に1番の列のデータを入力
10:「連絡先Eメール」に2番の列のデータを入力

この時点で「ExcelData」のすべてのデータが処理できていない場合は6に戻ります。つまり、6~10までをすべてのデータ入力が完了するまで繰り返すということです。すべてのデータが入力できている場合には、繰り返しの処理は終了です。これで顧客データの入力処理は作成完了です。

入力後の登録

最後に入力したデータの保存を行います。
※サンプルアプリでは、データの保存は行われませんが、実際の操作を想定しての操作です。

「UIオートメーション」>「ウィンドウのUI要素をクリックする」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

「プルダウンボタン」>「新しいUI要素の追加」をクリックします。

サンプルアプリの画面を表示し、左上の「保存」ボタンにマウスを合わせると、赤枠が表示されます。その後、「Ctrl」キーを押しながら、マウスでクリックします。「追跡セッション」が追加されたら、「完了」をクリックします。

「UI要素」に以下のように登録されてますので、「保存」をクリックします。

この状態でアクションを作成すると、繰り返し処理の中に含まれてしまいます。そのため、作成したアクションをドラッグ&ドロップで「End」の後に移動させます。

最後にサンプルアプリを終了します。「UIオートメーション」>「Windows」>「ウィンドウを閉じる」の順に選択して、ダブルクリックもしくは右側へドラッグ&ドロップします。

「プルダウンボタン」>「新しいUI要素の追加」をクリックします。

サンプルアプリの画面を表示し、「タイトルバー」ボタンにマウスを合わせると、赤枠が表示されます。その後、「Ctrl」キーを押しながら、マウスでクリックします。
「追跡セッション」が追加されたら、「完了」をクリックします。

「ウィンドウ」に以下のように登録されましたら、「保存」をクリックします。

これですべての処理の設定が完了になりました。フローの内容を確認してみます。

では、最後に「▷」ボタンをクリックして、実行します。うまく実行された場合は以下のように動作します。

確認ができたら、保存ボタンをクリックして、ここまでの処理を保存しておきましょう。

まとめ

いかがでしたでしょうか? RPAツールであるPower Automate Desktopを使用した簡単な作業を自動化する方法を紹介させていただきました。本ツールはWindowsの標準機能としてリリースされる予定となっています。そのため、これだけのRPAの機能が無料で、Windows 10を使用していれば、誰でも使えるようになります。

実際にサンプルの処理を作成してみた率直な感想としては、処理の分解さえできれば、誰でも使いこなせるツールであると感じました。プログラミングの知識も必要なく、専門的な知識も必要とせずに、これだけのことができるツールを使用できるため、RPAの入門としてはかなり有用ではないかと感じています。この無料のRPAツールを使いこなせるか否かで、業務効率は格段に変わると考えられます。

この記事を通して興味を持たれた方は、ダウンロードしてPower Automate Desktopを使用してみてください。その一歩が働き方改革やDX(デジタルトランスフォーメーション)の一助となり、読者の皆さま方の働き方改革につながるかもしれません。