Power Automate DesktopでWebへの一括入力を自動化

Power Automate DesktopでWebへの一括入力を自動化

Excelにまとめた顧客リストや申請データを、1件ずつ画面に開いたCRMや社内システムへ手で入力し直していませんか。

コピーして貼り付けるだけの作業でも、件数が数十件を超えると1日仕事になり、途中で入力欄がずれて修正に追われることも珍しくありません。

Power Automate Desktopには、Webページ上の操作をそのまま記録するレコーダー機能があり、記録した操作をExcelの行データに差し替えれば、同じ入力作業を全行分繰り返せます。

社内システムへの転記作業をどこまで置き換えられるかを、まず整理します。

そのうえで、Excelの読み取りからレコーダーでの記録、繰り返し処理、エラー時に途中で止める設計までの手順と、画面変更に弱い点への備えをまとめています。

Excel一括入力の自動化を無料相談する

Power Automate Desktopで置き換えられる作業

CRMや勤怠システム、社内の申請システムなど、ブラウザで開いて使うWebシステムへの入力は、画面上の操作である以上、レコーダーで一通り記録できます。

Excelの1行が1件の入力データに対応している業務であれば、名前・住所・金額といった項目を順番にフォームへ入力して登録ボタンを押す、という一連の流れをそのまま自動化の対象にできます。

ただし対応できるのはあくまで手作業の置き換えであって、判断が必要な入力までは任せられません。

たとえば住所から地域担当者を割り振る、申請内容によって入力する項目自体が変わる、といった業務は条件分岐が多くなります。

こうした業務は、レコーダーで記録した操作だけでは対応しきれず、条件ごとに枝分かれさせる作り込みが別途必要です。

実行方法によってライセンスの要否も変わるため、着手前に確認しておく必要があります。

実行方法

ライセンス

向くケース

手動実行(自分のPCで都度実行)

無料(Windows 10・Windows 11に標準搭載)

担当者が実行ボタンを押して数十件を処理する運用

スケジュールでの無人実行

Power Automateの有償プランが必要

毎晩や毎朝、決まった時間に無人でまとめて処理したい運用

手順(Excelのリストを読み込んでWebシステムへ一括入力する)

ここでは、Excelに1行1件で並んだデータを読み込み、レコーダーで記録した入力操作を全行に対して繰り返す流れを組みます。

最初から全件で試すと、途中でエラーが起きたときにどこまで登録済みかわからなくなるため、まず1行だけで最後まで通してから対象を広げると手戻りが少なくなります。

Step1. Excelのリストを読み込む

『Excelの起動』アクションで対象のExcelファイルを開き、続けて『Excelワークシートから読み取り』アクションで、入力対象の範囲をデータテーブルとして読み込みます。

読み込んだ内容はExcelDataという変数に格納され、行と列を持つ表形式のデータとして後続の処理から参照できます。

このとき、Excel側の見出し行と実際の入力項目が対応しているかを事前に確認しておくと、後の手順で列を指定するときに迷いません。

Step2. レコーダーでWebシステムへの入力操作を記録する

Power Automate Desktopのレコーダーは、デスクトップアプリの操作とWebページ上の操作の両方を1つのツールで記録できます。

ブラウザで開いたWebシステムを操作すれば、その操作はブラウザ用のアクションとして自動で書き起こされます。

対象のWebシステムを開いた状態で記録を開始し、入力欄への入力、選択肢の選択、登録ボタンのクリックまでを、1件分実際に手を動かして操作します。

記録が終わると、操作した順番のとおりにアクションがフローへ追加されます。

入力欄への値の設定には『Webページ内のテキスト フィールドに入力』、ボタンのクリックには『Webページのボタンを押します』が使われます。

この時点ではまだ、記録時に自分が手入力した1件分の値がそのままアクションの中に固定値として残っている状態です。

Step3. 記録した入力値をExcelの行データに置き換える

Step2で記録した各『Webページ内のテキスト フィールドに入力』アクションを開きます。

そのうえで、固定値として残っている入力欄の値を、Step1で読み込んだExcelDataの該当する列を指す変数に書き換えます。

たとえば氏名を入力する欄であれば、記録時の固定値をCurrentItem['氏名']のような、現在処理している行の氏名列を参照する式に差し替えます。

この段階で一度、1行分のデータだけを使って最初から最後まで実行し、正しい行の値が正しい入力欄に反映されているかを確認しておく必要があります。

複数の入力欄を書き換える作業のため、1つの欄だけ差し替え忘れて記録時の固定値が残ってしまう、というミスが起きやすい工程です。

Step4. For eachループで全行に対して繰り返し、エラー時は止める

Step1で読み込んだExcelDataを対象に『For each』アクションでループを組み、Step2からStep3で調整した入力操作をループの中に入れます。

これで、Excelの行数分だけ同じ入力操作が自動で繰り返されるようになります。

Power Automate Desktopの各アクションには『エラー時』の動作を設定する項目があり、既定では最初のエラーが起きた時点でフロー全体の実行が停止します。

Web入力の自動化では、この既定の挙動をそのまま使い、エラーが起きたら停止させて未処理の行を残しておくほうが安全です。

エラーを無視して次のアクションへ進む設定に変えてしまうと、本来登録されるはずのデータが登録されないまま次の行に進んでしまい、あとから欠けている行を探す作業のほうが手間になります。

Excelリストを読み込んでWebシステムへ一括入力する設定手順の4ステップ。Excelのリストを読み込む→レコーダーで入力操作を記録→記録値をExcelの列に置換→ループで全行に繰り返す

画面変更に弱い点への備え

レコーダーで記録した操作は、記録した瞬間の画面構成をもとに入力欄やボタンを識別しています。

そのため、対象のWebシステムがアップデートされて画面のレイアウトが変わると、記録済みの操作が入力欄を見つけられなくなり、フローがエラーで止まることがあります。

この弱点への備えとして有効なのは、対象システムの更新予定を事前に把握しておくことと、フローを少人数で使う場合でも実行結果を毎回目視で確認する運用を最初から組み込んでおくことです。

社内システムであれば情報システム部門に更新スケジュールを確認しておく、外部のCRMであればベンダーの更新履歴を定期的に確認しておく、といった備えが有効です。

複数の担当者が同じフローを使う場合は、エラーで止まったときに誰が気づいて修正するかも、あわせて決めておく必要があります。

似た仕組みをPower Automate Desktopで請求書PDFから金額を抽出する場合にも応用できます。

どの業務からPower Automateでの自動化に着手すべきかは、以下の記事でも整理しています。


Excelリストの一括入力について相談してみませんか?

「レコーダーで記録した操作がうまく動かない」「画面が変わるたびにフローが止まって直す時間がない」「どこまで自動化して良いか判断できない」

少しでもお心当たりがあれば、お気軽にご相談ください。

現在、Power Automate Desktopの業務自動化に関するお悩みをお伺いする 無料の個別相談 を実施しています。

よくある質問

Q. Excelのリストが数百件あっても、無料版のPower Automate Desktopだけで処理できますか?

無料版でも実行自体は可能ですが、無料版はパソコンにサインインした状態で自分が実行を開始する形のため、数百件の処理を無人で放置することはできません。

実行中は画面をほかの操作に使えないため、件数が多い場合は昼休みや業務時間外にまとめて実行する運用にするか、無人実行に対応した有償プランへの切り替えを検討する必要があります。

Q. 対象のWebシステムがログインを求めてくる場合はどうすればいいですか?

ログイン操作もレコーダーで一緒に記録できるため、フローの最初にログイン処理を組み込むこと自体は可能です。

ただし、パスワードをフローの中に固定値でそのまま書き込むと、フローを開いた人全員に見える状態になってしまうため、資格情報を暗号化して扱う仕組みと組み合わせて設定する必要があります。

Q. 入力欄がうまく認識されず、記録した操作が途中で止まってしまいます

Webページの構造によっては、レコーダーが入力欄を正しく識別できず、記録した操作が別の要素を指してしまうことがあります。

この場合、フロー内のUI要素の指定内容を開き、対象の入力欄を選び直すことで直せることが多いですが、それでも安定しない場合は、入力欄の識別方法自体を見直す必要があります。