ชุดเอกสาร จับมือทำ (LESSON + LAB) และ mock assets สำหรับหลักสูตร Power Automate for desktop (PAD) 2 วัน
แนวทางหลักคือ Hands-on Labs ทีละขั้นใน designer ควบคู่ Capstone Workshop เพื่อให้ผู้เรียนลงมือสร้าง desktop flow จริง
| รายการ | รายละเอียด |
|---|---|
| Web UI (Lab Hub) | https://ontoiq.tech/pad/ |
| Element UI (Desktop) | Contoso Invoicing · ดู Lab 07 |
| Sample packs อ้างอิง | Microsoft Learn — power-automate-desktop |
| PAD baseline (Aug 2026) | 2607+ (Installer ~2.70.x) — PAD version matrix |
| GitHub Release | Releases · ดาวน์โหลด PAD-Labs.zip → แตกที่ C:\ · CHANGELOG.md |
| Course Outline (local) | slides/Trainocate_Outline_Power Automate Desktop (2 days) ake.pdf |
| สไลด์ประกอบ (local) | slides/Power Automate Desktop.pptx |
ไฟล์ PPTX/PDF อยู่ที่
slides/บนเครื่องทีมสอน — ไม่ได้เผยแพร่ใน GitHub repo
แต่ละบทแยกเป็น LESSON.md (ความรู้) + LAB.md (จับมือทำ) · หน้าปกอยู่ที่
README.mdของโฟลเดอร์ Lab · พื้นฐานร่วม:shared/PAD-FUNDAMENTALS.md
- วัตถุประสงค์
- กลุ่มเป้าหมาย
- Prerequisites
- วิธีเริ่มต้น (ผู้เรียน)
- Selector Convention (PAD Lab Hub)
- แผนการเรียน 2 วัน
- Module Index
- Phase 1 — Core coverage
- โครงสร้าง Repository
- Microsoft Sample Assets
- หลักปฏิบัติสั้น ๆ
- Troubleshooting
- Contributing
- Changelog
- Acknowledgments
- License
- Disclaimer
เมื่อจบหลักสูตร ผู้เรียนจะสามารถ:
- อธิบายแนวคิด RPA และบทบาทของ Power Automate for desktop ในระบบนิเวศ Power Automate
- สร้าง desktop flow ด้วย Recorder และ Actions Pane
- ใช้ UI Elements / Selectors ได้ทั้งบนเว็บและแอป Desktop (รวม Contoso Invoicing)
- จัดการไฟล์/โฟลเดอร์, Excel, Variables และ Data Tables
- ออกแบบ Logic ด้วย If/Else, Loop, Error Handling และ Subflows
- สร้าง flow ธุรกิจครบวงจรแบบ Excel → Contoso / Web → Excel → Outlook พร้อมภารกิจ Web Scout
- ผู้ใช้งานที่ต้องการ automate งานซ้ำบน Windows
- Business Analysts, Operations และ Administrators
- ผู้สนใจ RPA / Power Platform และต้องการฝึก PAD แบบ hands-on
| รายการ | หมายเหตุ |
|---|---|
| Windows 10/11 | สภาพแวดล้อมมาตรฐานสำหรับ PAD |
| Power Automate for desktop | ติดตั้งด้วย MSI หรือ Microsoft Store — แนะนำ 2607+ สำหรับชั้นเรียนสิงหาคม 2026; เวอร์ชันใหม่ต้องการ .NET 8 (ตัว installer จัดการให้โดยทั่วไป) |
| Microsoft Edge หรือ Chrome | พร้อม browser extension สำหรับ PAD |
| Microsoft Excel | ใช้ใน Lab 06–10 |
| Contoso Invoicing | จำเป็นใน Lab 07 — ติดตั้งจาก ContosoInvoicingSetup.zip |
| Microsoft Outlook (Desktop) | ใช้ใน Capstone (Lab 10) — แนะนำสร้างเป็น Draft และใช้ผู้รับจำลองก่อนส่งจริง |
| สิทธิ์เครือข่าย | เข้าถึง https://ontoiq.tech/pad/ ได้ · ถ้า Browser Secure Isolation กั้น Lab Hub ใช้ modules/03b-public-web-alt/ (ทักษะเทียบ 01 form + 03 table) บน bot.or.th / scb.co.th |
PAD-Labs.zip |
โฟลเดอร์ทำงาน C:\PAD-Labs seed ครบทุก Module — ดาวน์โหลดจาก Releases (ดู shared/PRECLASS-SETUP.md) |
- Clone หรือ unzip repo นี้ลงเครื่อง Windows
- ทำ
shared/PRECLASS-SETUP.mdให้ครบ ก่อนวันเรียน - อ่าน
shared/PAD-FUNDAMENTALS.mdให้คุ้น designer และกฎตัวแปร% - เปิด Lab Hub ที่ https://ontoiq.tech/pad/ เพื่อยืนยันว่าเข้าถึงได้
- ในห้องเรียนทำตาม
shared/CLASSROOM-SCHEDULE-12H.md(Core ก่อน Challenge) - ต่อหนึ่งบท: เปิด
README.md→ อ่าน LESSON.md → ทำ LAB.md - สร้าง desktop flow ใหม่ต่อหนึ่ง Lab และตั้งชื่อตาม convention ใน
shared/BEST-PRACTICES.md - ใช้ไฟล์ใน
modules/<module>/assets/เป็น input — ไม่ควรแก้ไฟล์ต้นฉบับใน repo ให้คัดลอกไปโฟลเดอร์ทำงานของตนเองก่อน
C:\PAD-Labs\
├── working\ ← สำเนา assets ที่แก้ไขได้
├── output\ ← ผลลัพธ์จาก flow
└── logs\ ← log / screenshot จาก Lab 07, 09–10
ดาวน์โหลดแพ็กเกจจาก Releases → PAD-Labs.zip แล้วแตกที่ C:\
หรือจาก clone: .\tools\pad-labs\Install-PAD-Labs.ps1 -FromRepo -Force
รายละเอียด: shared/PRECLASS-SETUP.md · tools/pad-labs/README.md
ทุก control บน Lab Hub มี id และ/หรือ data-pad เพื่อให้เลือก element ได้เสถียร
#txt-name
[data-pad="btn-submit"]
แนวทางที่แนะนำ:
- ใช้ UI element picker ใน PAD แล้วล็อกด้วย
idหรือdata-pad - หลีกเลี่ยง selector ที่อ้าง index หรือ xpath ยาว เพราะเปราะเมื่อหน้าเว็บเปลี่ยนโครงสร้าง
- ใส่ Wait for web page content ก่อน Interact กับ element แบบ dynamic เช่น AJAX, Delay หรือ Popup
รายละเอียดเพิ่มเติม: shared/SELECTOR-CONVENTIONS.md · ชื่อ Action ทางการ: shared/OFFICIAL-TERMINOLOGY.md · เวอร์ชัน PAD: PAD version matrix
ตัวแปรใน PAD: ตอนสร้างชื่อ (Set variable / Store into / Variables produced) ไม่ใส่
%— ตอนใช้ในช่องอื่นใช้%ชื่อ%— ดูshared/BEST-PRACTICES.mdและshared/PAD-FUNDAMENTALS.md
สำหรับ Desktop UI ของ Contoso ดู UI map ใน modules/07-contoso-invoice-ops/assets/ui-map.md
สอนในห้อง 12 ชม.: ใช้ตาราง Core/Optional และหน้าที่ TA ใน
shared/CLASSROOM-SCHEDULE-12H.md
ผู้เรียนก่อนวันเรียน:shared/PRECLASS-SETUP.md· ทีมสอน (local):ops/(TA cheat sheet, Lab Hub status)
| โมดูล | หัวข้อ | Lab |
|---|---|---|
| What is RPA? | แนวคิด RPA, ประโยชน์, Cloud vs Desktop Flows | — |
| Getting Started | ติดตั้ง PAD, Workspace, Actions Pane, Variables, Recorder | PAD-FUNDAMENTALS |
| First Automation | Desktop Recorder, Record & Replay | 01 Record & Replay |
| UI Elements | Selectors และการเปิด/ปิด/โฟกัสแอป | 01b Notepad · 01b Calculator (optional) · Contoso เต็มรูปแบบใน Lab 07 |
| File & Folder | Create/Copy/Move/Rename, Read/Write Text | 02 File Management |
| Web Automation | Launch browser, Extract table (static / AJAX) | 03 Web Scout · Static · AJAX |
| โมดูล | หัวข้อ | Lab |
|---|---|---|
| Conditional Logic | If / Else If / Else | 04 Conditional Automation |
| Loops | For each, Loop condition | 05 Looping Files/Data |
| Variables & Data Tables | Types, List, Data Table | 06 Data Table & Excel |
| Desktop Element UI | Contoso Invoicing ครบวงจร Excel → App → Excel | 07 Contoso Invoice Ops |
| Excel + Web | Round-trip กับ Lab Hub | 08 Excel ↔ Web Round-trip |
| Error Handling | On block error / On error, Get last error, Logging | 09 Error Handling |
| Best Practices | Subflows, Debugging, Naming | shared/BEST-PRACTICES.md |
| Capstone Workshop | Web Scout + Excel + Outlook | 10 Capstone Sales Ops |
ลำดับต่อบท: อ่าน ความรู้ (LESSON) ก่อน → แล้วทำ Lab (LAB) ทีละขั้น · พื้นฐานร่วม: shared/PAD-FUNDAMENTALS.md
| # | หน้าปก | ความรู้ | Lab | ทักษะหลัก | UI เป้าหมาย |
|---|---|---|---|---|---|
| 01 | Record & Replay | LESSON | LAB | Recorder และการกรอกฟอร์มเบื้องต้น | 01 Forms |
| 01b | Notepad | LESSON | LAB | UI Elements + Populate Notepad | Windows Notepad |
| 01b | Calculator (optional) | LESSON | LAB | Click ปุ่ม + อ่าน display | Windows Calculator |
| 02 | File Management | LESSON | LAB | File/Folder actions | — |
| 03 | Web Scout | — | — | แผนที่ + lab ย่อยในโฟลเดอร์เดียวกัน | pad.ontoiq.tech/pad |
| 03 | Static Table Core | LESSON | LAB | Wait + Extract #tbl-employees |
03-table |
| 03 | AJAX Table Core | LESSON | LAB | Wait แถว + กรอง criteria | 09-ajax-table |
| 03 | Catalog (optional) | LESSON | LAB | Next loop + Extract products | 19-catalog |
| 03 | Controls (optional) | LESSON | LAB | Dropdown / checkbox | 02-controls |
| 03 | Files (optional) | LESSON | LAB | Download / upload | 05-files |
| 03b | Public Web Alt (เมื่อ Lab Hub ถูกกั้น) | LESSON | Form / Static FX / AJAX FX | ทักษะเทียบ Lab 01 form + Lab 03 table | bot.or.th · scb.co.th |
| 04 | Conditional Automation | LESSON | LAB | If/Else ตาม business rules | — |
| 05 | Looping Files/Data | LESSON | LAB | For each กับไฟล์และแถวข้อมูล | — |
| 06 | Data Table & Excel | LESSON | LAB | อ่าน แปลง และเขียน Excel | — |
| 07 | Contoso Invoice Ops | LESSON | LAB | Desktop UI, validate, attachments, subflows | Contoso Invoicing |
| 08 | Excel ↔ Web Round-trip | LESSON | LAB | Login + Forms + Wizard (+ Iframe/Files challenge) | 06 · 01 · 07 |
| 09 | Error Handling | LESSON | LAB | Retry/log + Dialog/Delay (+ OCR/Files/Iframe/API) | 04 · 11 · 01 |
| 10 | Capstone Sales Ops | LESSON | LAB | Scout + Round-trip + Outlook และชุด Phase 1 | ตามโจทย์ Capstone |
อ้างอิงแผนที่บทเรียน: https://ontoiq.tech/pad/
| โมดูล | การใช้ใน Lab Kit |
|---|---|
| 01 Forms | Lab 01 (หลัก) · 08 · 09 · 10 |
| 02 Controls | Lab 03 Controls (optional) |
| 03 Table | Lab 03 Static Table · 10 |
| 04 Dialogs | Lab 09 Case D |
| 05 Files | Lab 03 Files (optional) · 08 Challenge J · 09 Case G · 10 Mission |
| 06 Login | Lab 08 (บังคับ) · 10 |
| 07 Wizard | Lab 08 Mission W · 10 Mission |
| 08 Iframe | Lab 03 โบนัส (hub) · 08 Challenge I · 09 Case H · 10 Challenge |
| 09 AJAX Table | Lab 03 AJAX Table · 10 |
| 10 OCR | Lab 09 Case F · 10 Challenge |
| 11 Delay | Lab 09 Case C |
| 12 API | Lab 03 โบนัส (hub) · 09 Case I · 10 Challenge |
Lab 03 แยกเป็นหลาย flow ใต้ 03-web-scout
19 Catalog (pagination): Lab 03 Catalog (optional) และ Lab 10
power-automate-desktop/
├── README.md ← คุณอยู่ที่นี่
├── LICENSE ← MIT
├── CHANGELOG.md ← Keep a Changelog / SemVer
├── tools/pad-labs/ ← Build/Install PAD-Labs.zip
├── shared/ ← พื้นฐาน + เอกสารผู้เรียน
│ ├── PAD-FUNDAMENTALS.md ← อ่านก่อน Module แรก
│ ├── PRECLASS-SETUP.md ← รวมลิงก์ดาวน์โหลด PAD-Labs.zip
│ └── CLASSROOM-SCHEDULE-12H.md
├── authoring/ ← คู่มือผู้เขียน (local)
├── ops/ ← ทีมสอน / Lab Hub (local)
├── slides/ ← PPTX/PDF หลักสูตร (local)
├── modules/
│ ├── 01-record-replay/
│ │ ├── README.md ← หน้าปก / สารบัญบท
│ │ ├── LESSON.md ← ความรู้ (อ่านก่อน)
│ │ ├── LAB.md ← จับมือทำทีละขั้น
│ │ └── assets/
│ ├── 01b-notepad/
│ ├── 01b-calculator/
│ ├── 02-file-management/ ← ตัวอย่างมาตรฐานโครงสร้าง 3 ไฟล์
│ ├── 03-web-scout/ ← Lab 03 index + static-table / ajax-table / …
│ ├── 03b-public-web-alt/ ← เส้นทดแทนเมื่อ Lab Hub ถูกกั้น (ทักษะเทียบ 01 form + 03 table)
│ ├── …
│ └── 10-capstone-sales-ops/
└── …
แต่ละ Module มี 3 เอกสารหลัก:
README.md— หน้าปกบท: meta, ลำดับเรียน, prerequisites, ลิงก์ LESSON/LABLESSON.md— เอกสารความรู้เต็ม (ศัพท์ แนวคิด คำถามทบทวน)LAB.md— Setup + Hands-on ทีละขั้นใน designerassets/— mock input / expected output เมื่อ Module นั้นต้องการไฟล์ตัวอย่าง
โฟลเดอร์รากของบทเรียนคือ
modules/— คำว่า Lab ยังใช้กับไฟล์LAB.mdและการอ้างอิงแบบ Lab 01, Lab 02 ตามเดิม
คู่มือทีมอยู่ที่authoring/·ops/·slides/บนเครื่องทีมพัฒนา (ไม่เผยแพร่ใน GitHub สำหรับผู้เรียน)
ใช้เป็น Desktop Element UI หลักใน Lab 07 และเป็นชุดข้อมูลเสริมเวลาสาธิต:
- contoso-invoice-app ← Lab 07 ใช้บังคับ
- Sample zips:
Customers.zip,Employees.zip,Orders.zip,SampleInvoices.zip,newinvoice.zip
สรุปบทบาทใน Lab Kit นี้:
- Web UI หลัก = Onto-IQ PAD Lab Hub
- Desktop Element UI หลัก = Contoso Invoicing (Lab 07)
- Sample packs ของ Microsoft = ทางเลือกเสริมใน Lab 07 หรือการสาธิตของวิทยากร
| หัวข้อ | แนวทาง |
|---|---|
| Naming | ใช้รูปแบบ LabXX_ShortName เช่น Lab07_ContosoInvoiceOps |
| Variables | ตอนสร้างชื่อไม่ใส่ % (เช่น InputLeads); ตอนใช้ในช่องอื่นใส่ %InputLeads% — ดู Hands-on ของแต่ละ Lab |
| Waits | ใช้ Wait for web page content / Wait for window content ก่อน Click หรือ Populate |
| Excel | ปิด instance ด้วย Close Excel ทุกครั้ง; ก่อน Save document as ชื่อคงที่ให้มีนโยบายรันซ้ำ (If exists→Delete / เปิดเดิม+Save / timestamp) — ดู shared/BEST-PRACTICES.md |
| Contoso | Run application ครั้งเดียวต่อรอบ แล้ว Focus window ก่อนกรอก จากนั้น Close window ท้าย flow |
| Outlook | สร้างเป็น Draft ก่อน — ส่งจริงเฉพาะเมื่อวิทยากรอนุญาต |
| Secrets | ห้าม hardcode รหัสผ่านจริง — บัญชี demo ของ Lab Hub คือ demo / demo |
| อาการ | สิ่งที่ควรตรวจ |
|---|---|
| Selector ไม่เจอ (Web) | รีเฟรช UI elements แล้วใช้ #id หรือ [data-pad=...] |
| Selector ไม่เจอ (Contoso) | Recapture บนหน้าต่างแอป และ Focus window ก่อน Interact |
| หน้า AJAX ยังว่าง | ใช้ Wait for web page content จนแถวข้อมูลพร้อม |
| Excel locked | ปิด Excel ที่เปิดอยู่ด้วยมือ และ Close Excel ใน flow |
| Save as รอบสองล้ม (ไฟล์ซ้ำ) | If file exists → Delete ก่อน Save as หรือเปิดไฟล์เดิมแล้ว Save — Best Practices |
| Outlook ไม่ส่ง | ตรวจ profile และสิทธิ์ หรือเก็บเป็น Draft แทน |
| Browser ไม่ตอบ | Close web browser แล้ว Launch new Edge/Chrome ใหม่ หรือ Attach to running instance ถ้าจำเป็น |
| UIPI / ส่งคลิกไม่ได้ | รัน PAD กับแอปเป้าหมายที่ระดับ elevation เดียวกัน |
รายละเอียดเฉพาะ Lab อยู่ใน README ของแต่ละโฟลเดอร์
ยินดีรับ feedback จากวิทยากร / TA ที่ใช้ชุดนี้ในห้องจริง
- เปิด Issue อธิบายปัญหา Lab, selector ที่พัง หรือข้อเสนอแนะหลักสูตร
- สำหรับ Pull Request: แก้เฉพาะ Module ที่เกี่ยวข้อง ให้ LESSON / LAB / catch-up
scripts/*.robinสอดคล้องกัน - อย่า commit โฟลเดอร์ส่วนตัว
C:\PAD-Labs\,working/,output/,logs/หรือสไลด์ภายใต้slides/
ถ้าต้องการช่วยจัดตารางห้องหรือ catch-up ดูแนวทางใน shared/CLASSROOM-SCHEDULE-12H.md
ดูประวัติเวอร์ชันแบบ SemVer ใน CHANGELOG.md
แพ็กเกจผู้เรียนล่าสุด: GitHub Releases (PAD-Labs.zip)
- Microsoft Learn — Power Automate Desktop samples และ Contoso Invoicing
- Power Automate for desktop documentation
- Onto-IQ PAD Lab Hub ที่ ontoiq.tech/pad
เอกสาร Lab Kit, scripts (.robin), mock assets และเครื่องมือใน repo นี้เผยแพร่ภายใต้ MIT License — Copyright © 2026 Onto-IQ
| ส่วนประกอบ | สิทธิ์ / เงื่อนไข |
|---|---|
| เนื้อหาใน repo นี้ (docs, scripts, tools, mock data) | MIT |
PAD Lab Hub (ontoiq.tech/pad) |
ทรัพย์สินของ Onto-IQ สำหรับใช้ประกอบการฝึกอบรม — ไม่รวมใน LICENSE ของ repo |
| Contoso Invoicing / Microsoft sample packs | อยู่ภายใต้เงื่อนไขของ Microsoft Docs repository ต้นทาง |
| Power Automate for desktop | ผลิตภัณฑ์ของ Microsoft — ติดตั้งและใช้ตามข้อกำหนดสิทธิ์ขององค์กรผู้เรียน |
- Mock data ใน repo นี้เป็นข้อมูลจำลอง ไม่ใช่ข้อมูลลูกค้าจริง
- Lab Kit นี้ไม่ใช่เอกสารทางการของ Microsoft และไม่รับประกันความเข้ากันได้กับทุกเวอร์ชันของ PAD นอกเหนือจาก baseline ที่ระบุใน Release
- การส่งอีเมลจริง การรันบนเครื่อง production หรือการเชื่อมระบบองค์กรอยู่นอกขอบเขตหลักสูตร — ใช้เฉพาะสภาพแวดล้อมฝึกตามที่วิทยากรกำหนด