2023.10.25
本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、PADに読み込んだデータを様々な媒体に転記していく方法をご紹介します。前回同様、同じような情報を複数箇所に転記する作業をしている方にお勧めの内容となっています。
面倒な作業に頭を悩ませている方はこの機会に業務自動化にチャレンジしてみてはいかがでしょうか?
※ Power Automate Desktop (PAD)とは?
MicrosoftがWindows10ユーザー向けに無償で提供しているPC自動化ツールです。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
インストール方法はこちら
1.データを書き込む
2.ブラウザ自動化のテクニック紹介
3.まとめ
(1)Webアプリに書き込む
①Webサイトの情報を入力
まずは、ログインIDやパスワードなどのWebサイトの情報を入力してもらうためのフォームを作っていきます。
ここは自分しか使わない場合、自分のID、パスワードを固定値として変数に入れてしまっても良いのですが、「カスタムフォームを表示」アクション使うことで、複数人で使いまわせるフローになるのでこの方法にしました。
アクションは↓のように配置します。
ここで使用している「カスタムフォームを表示」アクションは、
任意の入力フォームを作成できるアクションです。
「カスタムフォームデザイナー」をクリックすると、フォーム作成ウィンドウが表示されます。
4つのブロックからなるウィンドウでフォームを作成していきます。
基本的な使い方はフロー作成画面と同じです。
フォーム要素を配置すると中央下にフォームの完成プレビューが表示されます。
詳しい使い方を説明したいところですが、長くなるので今回は割愛します。また使うことがあるの思いますので、その時に色々ご紹介できればと思います。
今回は、「フォームの説明」と「URL」「日報入力画面URL」「ログインID」「パスワード」の入力欄、「OK」「キャンセル」ボタンを配置しました。
その下の「If」アクションでは、キャンセルボタンを押した場合はフローを中断する処理を入れています。
②Excelの日報データを読み込む
次にExcelの日報データを読み込む部分を作っていきます。
ここはExcelに転記するフローと同じですので、説明は省略します。
③営業支援ツールを開いてログイン
次は営業支援ツールのログイン画面を開いてログインします。
アクションは↓のように配置します。
ブラウザを起動するところは以前ご説明したと思うので、今回は「Webページに次が含まれる場合」アクションとそれに囲まれている部分について解説します。
本アクションは、「If」アクションと似たような使い方が出来ます。違うのは、ブラウザの画面にUI要素や指定したテキストがあるかないかを判別してくれるところです。
パラメータは以下のように設定します。
このアクションを入れている理由ですが、簡単に言うとエラーを防ぐためです。
というのは、アクション実行時に営業支援ツールにログイン済みだった場合、ログイン画面は表示されずにトップ画面が表示されます。
すると、フローのログインする処理が実行できずにエラー終了してしまうのです。
このことは、ログインが必要なWebサイトを自動化する場合、考えなければいけないポイントになります。
次に、ログインIDとパスワードを入力する部分を作ります。
「Webページ内のテキスト フィールドに入力する」アクションを使用します。
パラメータは以下のように設定します。
「テキスト」に指定しているのは、①で作成したカスタムフォームの「ログイン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ページでドロップダウン リストの値を設定します」アクションを使って、活動区分の値を設定します。
パラメータは以下のように設定します。
値の設定方法は、「操作」で設定できます。
「全てのオプションをクリア」、「名前を使ってオプションを選択します」、「インデックスを使ってオプションを選択します」から選択します。
設定したい値が決まっている場合、「名前を使ってオプションを選択します」が扱いやすいです。
イ)顧客名
ウ)活動日
次に顧客名と活動日を設定していきます。
顧客名が空白だった場合は顧客名の入力欄に空白が入力されます。
入力方法は、ログイン処理の時と同じですので説明は省略します。
エ)開始時間
オ)終了時間
開始時間と終了時間は、時間と分でプルダウンがわかれているため、Excelから読み取った値を分割する必要があります。
具体的に言うと、「テキストの分割」アクションを使用します。
パラメータは以下のように設定します。
これによって、”時間:分”という文字列から[時間,分]という配列が作られます。プルダウンの選択は活動区分と同様に行います。
カ)担当者
ここは今回操作しません。
キ)内容
ここの入力方法もログイン処理と同様ですので説明は省略します。
ここまでで日報データの入力が完了しましたので、登録する処理を作成します。
アクションは以下のように配置します。
登録処理中に次のアクションに進まないように「Wait」アクションを1秒入れています。
以上で日報を自動で登録するフローが出来ました。
ここまで、Excelからブラウザへの転記を自動化する方法を紹介してきました。
転記の対象がブラウザになると、「どのUI」を操作するのかという設定が加わる分、フローの作成が大変になると感じる方もいると思います。
実際、その通りでフロー作成中に想定と違う動きをされることがよくあります。
特によくあるのが、
です。
これらの問題に直面した際は、通常の方法では解決できないことが多いです。
そこで、そんな時に使えるテクニックを2つご紹介します。
ここで、1つ注意点があります。
この方法でフォーカスを移動した場合、UIへの入力にブラウザー自動化のアクションは使えないということです。
フォーカスを移動させた後、対象のUIにテキストを入力したりボタンを押したりするには、「キーの送信」アクションを使用します。
テキストを入力する場合は、「クリップボード テキストを設定」アクションで入力する内容をクリップボードにコピーし、「Ctrl+v」キーを送信することでクリップボードの値を貼り付けます。
ボタンを押す場合は、「Space」キーを送信することで押下できます。
II.ボタンからURLを抽出して直接ページを開く
コチラは、2の時に重宝する方法です。
リンク先のページを開きたいが、どこをクリックさせてもうまく動かないときなどに使えます。
方法は、「Webページからデータを抽出する」アクションを使用します。
下の画像のように、マウスカーソルが指に変化するUIを取得すると、URLを取得できることがあります。
このように取得できたURLを「新しいタブを作成」アクションのパラメータに設定することでクリックできないボタンを押さずに次のページを開けます。
以上、ブラウザ自動化の際に使えるテクニックをご紹介しました。
今回、全3回にわたってデータの転記作業をテーマに解説してきました。
最後に転記作業を自動化する際のポイントをご紹介します。
それは、一気に全部自動化しようとしないことです。
特に、転記作業の中で最も面倒な部分は自動化するのを後回しにすることをお勧めします。
というのは、手作業で面倒なものは、自動化するフローを作るのもとても手間がかかるからです。
ですので、作業自体は単純だけど量が多い部分など、自動化すること自体が簡単な部分から手を付け始めると業務効率化が進みやすいのではないかなと思います。
今回作成したサンプルフローはこちら
パスワード:gOlAq376
あなたの疑問は解決しましたでしょうか?解決しなかった場合は直接質問も受け付けております!
執筆者にメールで質問する
記事を書いた人
株式会社ワイ・ビー・シー
営業部 開発チーム
白川
PADに関連する記事はこちら
第1回 入門編 業務を自動化して作業を楽に
第2回 活用事例 メールの添付ファイルを自動保存
第3回 活用事例 Webページからデータを抽出しエクセルに転記
第4回 活用事例 無償アカウントでもフローを共有してさらに便利に!
第5回 活用事例 フローの不具合を見つけて直す
第6回 活用事例 表形式データのDatatableを活用しよう!
第7回 活用事例 「データテーブル」アクションを使いこなそう!
第8回 活用事例 面倒な複数箇所への転記作業はまとめて自動化!
第9回 活用事例 【続】面倒な複数箇所への転記作業はまとめて自動化!
第10回 活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!
第11回 活用事例 PADで四則演算!
第12回 活用事例 条件分岐を使いこなせ!エラーを減らすフロー設計