PowerAutomateDesktopで店舗ごとの売上データをExcelからWeb入力する方法

  • URLをコピーしました!
目次

🎯 目的

  • 各店舗が提出する売上Excel(sales.xlsx)を読み込む
  • 店舗コード・売上金額を、管理Web画面へ自動入力して登録
  • 登録が完了した行には、Excel上に「登録済み」フラグを書き戻す
  • エラー発生時も、フラグでスキップして再実行が可能

📁 ファイル構成(推奨)

StoreSalesUploader/
├─ main_flow.padx
├─ modules/
│   ├─ ReadExcelSales.padx        ← Excel読み込み
│   ├─ InputToWebForm.padx        ← Webへの自動入力
│   ├─ WriteFlagToExcel.padx      ← 登録済みフラグの書き込み
├─ data/
│   └─ sales.xlsx                 ← 店舗別売上データ(入力元)
├─ logs/
│   └─ log.csv                    ← 実行ログ(任意)

📄 sales.xlsx(データ形式)

店舗コード売上金額登録状況
A001124000
A00298000登録済み
A003113000
  • 登録状況 列が 空欄の行のみ処理対象
  • 登録成功後に「登録済み」と記入

🔁 全体フロー概要

[1] Excelから未登録データを読み込み
 ↓
[2] 店舗ごとにWebフォームへ自動入力
 ↓
[3] 登録成功時にExcelへ「登録済み」フラグ
 ↓
[4] ログ出力(任意)

🛠 ステップバイステップ構築手順


✅ STEP1:Excelから売上データを読み込む(ReadExcelSales.padx)

使用アクション:

  • Excelの起動(可視/不可視選択)
  • Excelワークシートからデータを読み取り
  • For Each で行ループ

条件付きループ(登録済み以外):

条件:currentRow["登録状況"] が 空白なら 処理対象

→ 出力変数:StoreCode, Amount


✅ STEP2:Web画面へ自動入力(InputToWebForm.padx)

1. Chromeで管理画面を起動

chrome.exe --profile-directory="Profile 1" https://example.com/admin/sales

2. フォーム入力

項目UIセレクタ例
店舗コードinput[name="store_code"]%StoreCode%
売上金額input[name="amount"]%Amount%
保存ボタンbutton[text()="登録"]クリック

3. 成功確認(「登録完了」などのラベル表示を待機)

  • UI要素の有無 or テキスト出現で判定
  • タイムアウト時は例外処理で 次の店舗へスキップ

✅ STEP3:Excelへ「登録済み」フラグを記入(WriteFlagToExcel.padx)

処理内容:

  • 対象行の「登録状況」列に 登録済み を書き込み
  • Excelワークシートにセルを書き込み

補足:

  • currentRowIndex などで行番号を取得して、対象セル指定

✅ オプション:処理ログの記録(logs/log.csv)

  • 日時・店舗コード・売上金額・結果(成功/失敗)を1行ずつ追記

💡 応用・工夫ポイント

機能実装方法・アイデア
フォームが変化した時の耐性複数セレクタ(ARIA+CSS)を組み合わせる
店舗ごとのエラー記録エラー時に log.csv に「失敗」と記録し、スキップ継続
Excelを閉じずに書き戻す「開いたまま編集」に対応できる Excelファイルの保存 を使用
日別ログフォルダyyyyMMdd.csv のログを logs/ フォルダに自動作成

📋 テスト手順(10分で確認)

  1. sales.xlsx にダミーデータを入力(3〜5件)
  2. PADを手動で実行
  3. 管理画面にデータが自動登録されるか確認
  4. 登録後、Excelの「登録状況」列が更新されているか確認
  5. エラー時は処理がスキップされるか確認

✅ 練習ポイントまとめ

スキル本フローで習得できる内容
✅ Excel読み取り行ループ/条件付き処理/セル値取得と書き込み
✅ Web自動入力UIセレクタの安定取得とフォーム操作
✅ 条件分岐と例外処理成功/失敗でのフロー分岐・途中スキップ制御
✅ 再実行対応フラグ管理により「途中からの再開」が可能に

❓ よくある質問(FAQ)


Q1. Excelを閉じていても書き込める?

A. PADの Excel起動バックグラウンドモード であれば、開いていなくても読み書き可能です。


Q2. 途中で止まっても再開できる?

A. 「登録済み」フラグをもとに、すでに処理した行をスキップできる設計です。
途中でエラーになっても、次回起動時に未処理分だけを再開します。


Q3. 店舗コードが英数字混在でも大丈夫?

A. テキスト形式として扱えば問題ありません。Excel内のデータ型を「文字列」にしておくと安心です。


Q4. スケジュール実行できますか?

A. はい、タスクスケジューラで毎朝8:30などに main_flow.padx を実行できます。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次