「毎日同じフォーム入力…面倒くさい…
そんなあなたに朗報です!Power Automate Desktop(通称PAD)を使えば、Excelにあるデータを一瞬でWebページに自動入力できちゃいます。
今回は、以下のようなExcelファイルを例に、実際のPADフロー構築手順をすべて画像なしでも理解できるレベルで詳細に解説します!
🧾 使用するExcelの例
| ユーザーID | 性別 | 希望言語 | 得意言語 |
|---|---|---|---|
| user001 | 男性 | Java | PHP,Java |
| user002 | 女性 | C# | Java,C# |
このデータを、ある登録用Webページに自動で入力していくという内容です。
🔧 自動入力フローの作成手順
1. フローの新規作成
- PADを起動し、「新しいフロー」を作成
- 任意の名前を入力して「作成」
2. Excelファイルを開く
- アクション名:
Excelの起動 - モード:次のドキュメントを開く
- パス:
売上明細.xlsxなど該当のExcelファイルを選択
この時点で、PAD側にExcelInstanceという変数が生成されます。これは今後のアクションで利用します。
3. Excelデータを読み取る
ステップ①:範囲の取得
- アクション名:
Excelワークシートから範囲を読み取り - Excelインスタンス:
%ExcelInstance% - 範囲指定:例)
A1:D11(データがある範囲) - 「最初の行に列名を含む」をON
ステップ②:行・列の可変対応
- アクション名:
Excelワークシートから最初の空の列/行を取得 - 変数:
FirstFreeColumn、FirstFreeRowが生成される
この2つを利用して、データの終端位置を動的に取得する設定を加えておきます。
4. Webページを開く
- アクション名:
新しいChromeを起動する - 初期URL:対象のWebフォームURLを指定
この時点で、BrowserInstanceという変数が生成されます。
5. Excelデータを行単位でループ
- アクション名:
For Each - 対象:
%ExcelData% - 変数名:例)
CurrentItem
これで、Excelの各行データを1件ずつ処理できます。
🖊️ 各フィールドへの自動入力方法
📌 ユーザーID(テキストフィールド)
- アクション名:
Webページ内のテキストフィールドに入力 - 値:
%CurrentItem[0]%(1列目がユーザーID)
📌 性別(ラジオボタン)
- 条件分岐:
If - 条件:
%CurrentItem[1]% == "男性"- 男性ラジオボタンを選択(UI要素で事前に取得)
Else If:%CurrentItem[1]% == "女性"- 女性ラジオボタンを選択
📌 希望言語(ドロップダウン)
- アクション名:
Webページのドロップダウンリストを選択 - 値:
%CurrentItem[2]%(希望言語)
📌 得意言語(チェックボックス)
ステップ①:分割
- アクション名:
テキストを分割 - 対象:
%CurrentItem[3]% - 区切り:
,(カンマ)
→ %TextList% という変数にリスト化されます。
ステップ②:ループ処理
- アクション名:
For Each - 対象:
%TextList% - 変数名:
%SkillItem%
→ それぞれの得意言語ごとに処理を分岐します。
ステップ③:チェックボックスをON
- 条件:
Switch - ケース:
php→ PHPのチェックをON - ケース:
java→ JavaのチェックをON - ケース:
c#→ C#のチェックをON
📌 登録ボタンのクリック
- アクション名:
Webページのボタンを押します - 対象:登録ボタン、確認画面のボタン、戻るボタン(それぞれUI要素を指定)
🚀 パフォーマンス改善
デフォルトでは、各入力後に「ページ読み込みまで待機」がONになっていますが、動的にページが切り替わらない場合はOFFにすることで爆速化できます!
- 対象アクションの詳細設定で「ページ読み込みまで待機」をオフ
💡 よくある質問(FAQ)
Q1:WebページのUI要素はどうやって取得するの?
→ アクションの「UI要素を追加」ボタンを押し、対象のフィールドをCtrlキーを押しながらクリックすればOK!
Q2:入力後にページが遷移して次の入力がうまくいきません
→ 入力直後にページが変わる場合は、「ページ読み込みまで待機」をONのままにしておくと安定します。
Q3:チェックボックスの言語が毎回変わります
→ Excel上の「得意言語」列にあるデータが変わっても、Switchでカバーできるように事前にすべての言語を登録しておきましょう。
Q4:フローの途中でエラーが出るのですが、原因がわかりません
→ 各アクションにブレークポイントを設定して、ステップ実行でトレースできます。変数の中身も確認しましょう。
