コラム - お役立ち情報

2023.10.25

【無料RPA】Power Automate Desktop(PAD)活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!

本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、PADに読み込んだデータを様々な媒体に転記していく方法をご紹介します。前回同様、同じような情報を複数箇所に転記する作業をしている方にお勧めの内容となっています。
面倒な作業に頭を悩ませている方はこの機会に業務自動化にチャレンジしてみてはいかがでしょうか?

※ Power Automate Desktop (PAD)とは?
MicrosoftがWindows10ユーザー向けに無償で提供しているPC自動化ツールです。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
https://powerautomate.microsoft.com/ja-jp/desktop/

目次

1.データを書き込む
2.ブラウザ自動化のテクニック紹介
3.まとめ

1.データを読み込む

(1)Webアプリに書き込む

PADに読み込んだデータを使用して、Webアプリに書き込む方法を解説していきます。
今回は、Excelに書いた日報をWebの営業支援ツールに入力し登録します。
具体的には、↓のようなデータを

↓のような画面に入力していきます。

フローは以下のような流れで組んでいきます。

①Webサイトの情報を入力
②Excelの日報データを読み込む
③営業支援ツールを開いてログイン
④繰り返し処理を作成
⑤日報入力画面を開く
⑥日報を入力し登録

 
①Webサイトの情報を入力
まずは、ログインIDやパスワードなどのWebサイトの情報を入力してもらうためのフォームを作っていきます。
ここは自分しか使わない場合、自分のID、パスワードを固定値として変数に入れてしまっても良いのですが、「カスタムフォームを表示」アクション使うことで、複数人で使いまわせるフローになるのでこの方法にしました。

アクションは↓のように配置します。

ここで使用している「カスタムフォームを表示」アクションは、
任意の入力フォームを作成できるアクションです。

「カスタムフォームデザイナー」をクリックすると、フォーム作成ウィンドウが表示されます。

4つのブロックからなるウィンドウでフォームを作成していきます。
基本的な使い方はフロー作成画面と同じです。
フォーム要素を配置すると中央下にフォームの完成プレビューが表示されます。
詳しい使い方を説明したいところですが、長くなるので今回は割愛します。また使うことがあるの思いますので、その時に色々ご紹介できればと思います。
今回は、「フォームの説明」と「URL」「日報入力画面URL」「ログインID」「パスワード」の入力欄、「OK」「キャンセル」ボタンを配置しました。

その下の「If」アクションでは、キャンセルボタンを押した場合はフローを中断する処理を入れています。
 
②Excelの日報データを読み込む
次にExcelの日報データを読み込む部分を作っていきます。
ここはExcelに転記するフローと同じですので、説明は省略します。

 
③営業支援ツールを開いてログイン
次は営業支援ツールのログイン画面を開いてログインします。
アクションは↓のように配置します。

ブラウザを起動するところは以前ご説明したと思うので、今回は「Webページに次が含まれる場合」アクションとそれに囲まれている部分について解説します。
本アクションは、「If」アクションと似たような使い方が出来ます。違うのは、ブラウザの画面にUI要素や指定したテキストがあるかないかを判別してくれるところです。

パラメータは以下のように設定します。

Webブラウザーインスタンス:%Browser%
Webページを確認する:要素を含む
UI要素:ログイン画面のログインID入力テキストボックス

このアクションを入れている理由ですが、簡単に言うとエラーを防ぐためです。
というのは、アクション実行時に営業支援ツールにログイン済みだった場合、ログイン画面は表示されずにトップ画面が表示されます。
すると、フローのログインする処理が実行できずにエラー終了してしまうのです。
このことは、ログインが必要なWebサイトを自動化する場合、考えなければいけないポイントになります。

次に、ログインIDとパスワードを入力する部分を作ります。
「Webページ内のテキスト フィールドに入力する」アクションを使用します。

パラメータは以下のように設定します。

Webブラウザー インスタンス:%Browser%
UI要素:ログイン画面のログインID入力欄
テキスト:%CustomFormData[‘ID’]%

「テキスト」に指定しているのは、①で作成したカスタムフォームの「ログインID」欄に入力された値です。
「UI要素」はログイン画面に表示されているログインID入力欄なのですが、これはPADに手動で読み込ませる必要があります。
では、実際にログイン画面からUI要素を読み込んでみます。
まずは、ブラウザにログイン画面を表示します。

次に、「Webページ内のテキスト フィールドに入力する」アクションのパラメータ「UI要素」をクリックし、さらに「UI要素の追加」をクリックします。

すると、「UI要素ピッカー」というウィンドウが表示されます。
このウィンドウが表示されているときに、読み込ませたいUI要素にカーソルを合わせると、赤いフレームが表示されます。
そのフレームが囲う範囲が目当てのUI要素になるように調整して「Ctrl」+「クリック」すると、「UI要素ピッカー」に要素を追加できます。

追加したUI要素はアクションのパラメータとして選択できます。

パスワード入力欄とログインボタンもこれと同じ方法で追加します。
 
④繰り返し処理を作成
⑤日報入力画面を開く

ここから日報データを入力する処理を作成していきます。
まずは、繰り返し処理のベース部分からアクションを配置していきます。

コメントは④⑤⑥が映っていますが、アクションは⑤の分まで配置しています。
「For each」アクションで指定しているのは、Excelから読み込んだ日報データです。この繰り返し処理の中では日報1件1件に対して処理をしていきます。
ここで注目してほしいのが「Webブラウザーを閉じる」アクションです。
日報を1件登録する度に開いたタブを閉じるようにしています。
これをする理由は、PCの動作が重くなるのを防ぐためです。
ブラウザのタブを複数開くとその分PCの動作は遅くなっていきます。
繰り返し処理の中でブラウザのタブを増やす場合は、繰り返し処理の最後で増やしたタブを閉じるようにしましょう。
 
⑥日報を入力し登録
いよいよ本題の入力部分を作っていきます。
日報入力画面で入力するのは図のア)~キ)です。

入力内容は以下のようになります。

ア) 活動区分 顧客名が入っていれば商談
入っていなければ社内作業を選択
イ) 顧客名 顧客名が入っていなければ入力
入っていなければ操作しない
ウ) 活動日 Excelの値をそのまま入力
エ) 開始時間 時間と分に分割して入力
オ) 終了時間 時間と分に分割して入力
カ) 担当者 操作しない
キ) 内容 Excelの値をそのまま入力

 
それでは、UI要素ごとにアクションを配置していきます。
ア)活動区分

日報データに「顧客名」が含まれているか否かで選択値を変えています。
「Webページでドロップダウン リストの値を設定します」アクションを使って、活動区分の値を設定します。

パラメータは以下のように設定します。

Webブラウザー インスタンス:%NewBrowser%
UI要素:活動区分のプルダウンを取得

操作:名前を使ってオプションを選択します
オプション名:社内作業
正規表現を使用する:チェックしない

値の設定方法は、「操作」で設定できます。
「全てのオプションをクリア」、「名前を使ってオプションを選択します」、「インデックスを使ってオプションを選択します」から選択します。
設定したい値が決まっている場合、「名前を使ってオプションを選択します」が扱いやすいです。
イ)顧客名
ウ)活動日
次に顧客名と活動日を設定していきます。
顧客名が空白だった場合は顧客名の入力欄に空白が入力されます。
入力方法は、ログイン処理の時と同じですので説明は省略します。

エ)開始時間
オ)終了時間
開始時間と終了時間は、時間と分でプルダウンがわかれているため、Excelから読み取った値を分割する必要があります。
具体的に言うと、「テキストの分割」アクションを使用します。


パラメータは以下のように設定します。

分割するテキスト:
区切り記号の種類:
カスタム区切り記号:「:」
正規表現であり:チェックなし

これによって、”時間:分”という文字列から[時間,分]という配列が作られます。プルダウンの選択は活動区分と同様に行います。
カ)担当者
ここは今回操作しません。
キ)内容
ここの入力方法もログイン処理と同様ですので説明は省略します。

ここまでで日報データの入力が完了しましたので、登録する処理を作成します。
アクションは以下のように配置します。

登録処理中に次のアクションに進まないように「Wait」アクションを1秒入れています。

以上で日報を自動で登録するフローが出来ました。


2.ブラウザ自動化のテクニック紹介

ここまで、Excelからブラウザへの転記を自動化する方法を紹介してきました。
転記の対象がブラウザになると、「どのUI」を操作するのかという設定が加わる分、フローの作成が大変になると感じる方もいると思います。
実際、その通りでフロー作成中に想定と違う動きをされることがよくあります。
特によくあるのが、

1.入力したいUIに入力されない
2.ボタン(リンク)を押したいのに押せない

です。
これらの問題に直面した際は、通常の方法では解決できないことが多いです。
そこで、そんな時に使えるテクニックを2つご紹介します。
 

Ⅰ.「Tab」キーを使ってフォーカスを移動させる
これは、1,2どちらのケースにも対応できるテクニックです。
テキストボックスに文字を打ち込んだりプルダウンから値を選択したりするには、対象のUIにフォーカスを当てる必要があります。
フォーカスを当てるというのは、そのUIを編集中の状態にするということです。例えば、テキストボックスの入力欄に縦の棒が表示されている状態がそれにあたります。

UIに入力ができない、ボタンが押せないという状況は、多くの場合このフォーカスがうまく当たっていないことから起こっています。
そこで、「Tab」キーを使用します。
ご存知の方もいると思いますが、ブラウザで「Tab」キーを押すと、UIへのフォーカスが一つずつ移動します。つまり、想定通りに動いてくれないUIに「Tab」キーを使ってフォーカスを当てるということをします。
そのためには、「キーの送信」アクションを使います

細かい説明は省きますが、このアクションを使って対象のUIまでフォーカスを移動します。

ここで、1つ注意点があります。
この方法でフォーカスを移動した場合、UIへの入力にブラウザー自動化のアクションは使えないということです。
フォーカスを移動させた後、対象のUIにテキストを入力したりボタンを押したりするには、「キーの送信」アクションを使用します。
テキストを入力する場合は、「クリップボード テキストを設定」アクションで入力する内容をクリップボードにコピーし、「Ctrl+v」キーを送信することでクリップボードの値を貼り付けます。
ボタンを押す場合は、「Space」キーを送信することで押下できます。
 
II.ボタンからURLを抽出して直接ページを開く
コチラは、2の時に重宝する方法です。
リンク先のページを開きたいが、どこをクリックさせてもうまく動かないときなどに使えます。
方法は、「Webページからデータを抽出する」アクションを使用します。
下の画像のように、マウスカーソルが指に変化するUIを取得すると、URLを取得できることがあります。


このように取得できたURLを「新しいタブを作成」アクションのパラメータに設定することでクリックできないボタンを押さずに次のページを開けます。

以上、ブラウザ自動化の際に使えるテクニックをご紹介しました。


3.まとめ

今回、全3回にわたってデータの転記作業をテーマに解説してきました。
最後に転記作業を自動化する際のポイントをご紹介します。
それは、一気に全部自動化しようとしないことです。
特に、転記作業の中で最も面倒な部分は自動化するのを後回しにすることをお勧めします。
というのは、手作業で面倒なものは、自動化するフローを作るのもとても手間がかかるからです。
ですので、作業自体は単純だけど量が多い部分など、自動化すること自体が簡単な部分から手を付け始めると業務効率化が進みやすいのではないかなと思います。

今回作成したサンプルフローはこちら
パスワード:gOlAq376

 記事を書いた人
記事を書いた男性アイコン
 株式会社ワイ・ビー・シー
 営業部 開発チーム
 白川
 



PADに関連する記事はこちら
第1回 入門編 業務を自動化して作業を楽に
第2回 活用事例 メールの添付ファイルを自動保存
第3回 活用事例 Webページからデータを抽出しエクセルに転記
第4回 活用事例 無償アカウントでもフローを共有してさらに便利に!
第5回 活用事例 フローの不具合を見つけて直す
第6回 活用事例 表形式データのDatatableを活用しよう!
第7回 活用事例 「データテーブル」アクションを使いこなそう!
第8回 活用事例 面倒な複数箇所への転記作業はまとめて自動化!
第9回 活用事例 【続】面倒な複数箇所への転記作業はまとめて自動化!
第10回 活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!
第11回 活用事例 PADで四則演算!


関連記事

PADで四則演算

【続】複数個所への転記はまとめて自動化

複数箇所への転記はまとめて自動化