Power Automate Desktop เป็นซอฟท์แวร์ RPA (Robotic Process Automation) แบบ Low code/ No Code ที่ใช้ในการทำงานอัตโนมัติต่างๆ ผ่าน User Interface บนเครื่องคอมพิวเตอร์
สามารถดาวน์โหลดใช้งานได้ฟรี
สร้าง Desktop Flow
เปิดโปรแกรม Power Automate Desktop แล้วกด New flow
ตั้งชื่อ Flow name แล้วกด Create

สร้าง Excel File และข้อมูล
เปิดโปรแกรม Excel แล้วใส่ข้อมูลตามด้านล่าง แล้ว save ไฟล์ไว้ที่ Desktop
ตัวอย่าง file path ที่ save Excel ไว้:
C:\Users\User\Desktop\Excel Automation (Launch, Read, Close).xlsx
ถ้าไม่อยากพิมพ์ข้อมูลเองให้เมื่อยมือ สามารถไปดาวน์โหลดไฟล์ที่นี่ได้

การใส่ Actions ใน Workspace
ที่ Action Pane ทางซ้ายมือให้ค้นหา actions ที่ต้องการสั่งให้โรบอททำงาน เช่น “Launch Excel” แล้วลากมาวางที่ workspace หรือจะ double click ที่ action นั้นๆ เลยก็ได้


Launch Excel
parameter ของ “Launch Excel” จะมี 2 แบบ คือ
- with a blank document เป็นการเปิดไฟล์ Excel ขึ้นมาใหม่
- and open the following document เป็นการเปิดไฟล์ Excel ที่อยู่ในคอมของเรา


ในครั้งนี้ให้เลือกเป็น “and open the following document” และที่ parameter “Document path” ให้ใส่ file path ของไฟล์ Excel กด Save
ที่ Variables produced ของแต่ละ action จะแสดงว่า action นั้นมีการสร้างตัวแปรอะไรขึ้นมาบ้าง
สำหรับ action “Launch Excel” นี้ จะมีการสร้างตัวแปร ExcelInstance ขึ้นมาให้อัตโนมัติ (เราสามารถเปลี่ยนชื่อตัวแปรนี้ได้โดยการคลิกที่ชื่อตัวแปรแล้วพิมพ์ชื่อที่ต้องการลงไปได้เลย)

Read from Excel worksheet
parameter ของ “ExcelInstance” จะไปดึง data type ที่เป็น ExcelInstance ในโฟลว์ของเรามาใส่ไว้ที่ dropdown ให้เราเลือกว่าจะอ่านค่าจาก Excel ไฟล์ไหน (ในกรณีนี้จะมีค่าเดียวเพราะเราเปิด Excel แค่ไฟล์เดียว)
parameter “Retrieve” สามารถปรับค่าได้ 5 แบบ คือ
- The value of single cell คือ อ่านค่าจาก Excel cell เพียง cell เดียว
- Values from a range of cells คือ อ่านค่าจาก Excel cell หลายๆ cell
- Values from selection คือ อ่านค่าจาก cell ที่เลือกอยู่ (จะเป็น cell เดียว หรือหลาย cell ก็ได้)
- All available values from worksheet คือ อ่านค่าจาก Excel worksheet นั้นไปถึง cell สุดท้ายที่มีค่าอยู่
- Values of named cells คือ อ่านค่าจาก Name range ที่สร้างไว้ที่ Excel

ให้เลือก “Values from a range of cells”
ที่ Start column, End column สามารถใส่ตัวอักษรที่ใช้แทนลำดับของ Excel column หรือใส่ตัวเลขของ Excel column ก็ได้
- Start column สามารถใส่ A หรือ 1 ก็ได้
- End column สามารถใส่ D หรือ 4 ก็ได้
ที่ Start row, End row สามารถใส่ตัวเลขของ Excel row ได้เลย
- Start row ใส่ 1
- End row ใส่ 11
กด save
สำหรับ action “Read from Excel worksheet” นี้ จะมีการสร้างตัวแปร ExcelData ขึ้นมาให้อัตโนมัติ โดย data type ของตัวแปรนี้จะเป็น Text value/Numeric value หรือ Datatable ก็ขึ้นอยู่กับรูปแบบที่เราเลือกที่ Retreive และค่าที่อยู่ใน Excel cell

Write text to file
เราจะลองเอาค่าที่โรบอทอ่านได้ ไปเขียนใส่ notepad
ที่ parameter “File Path” ให้เลือก location ที่ต้องการ save text file แล้วตั้งชื่อไฟล์
ตัวอย่าง file path ที่ save Notepad ไว้:
C:\Users\User\Desktop\StrawHatCrew.txt
ที่ parameter “Text to write” สามารถกด {x} แล้วเลือกตัวแปร ExcelData มาใส่ได้เลย
ที่ parameter “If file exists” จะมีให้เลือก 2 แบบ คือ
- Overwrite existing content เขียนทับข้อมูลเดิมในไฟล์
- Append content เขียนเพิ่มจากข้อมูลเดิม
ในที่นี้จะเลือกเป็นแบบ Overwrite existing content

Close Excel
parameter “Before Closing Excel” สามารถปรับค่าได้ 3 แบบ คือ
- Do not save document คือ ไม่ save Excel
- Save document คือ save Excel ไฟล์เดิม
- Save document as คือ save Excel ไฟล์ใหม่ (จะมีให้เลือก extension และ location ที่ต้องการ save)

ในที่นี้จะไม่ save Excel

Completed Flow
จะได้ Flow ที่มี 4 actions ตามภาพด้านล่าง กด Save แล้วกด Run

Result 1
จะได้ข้อมูลทั้งหมดใน Excel ตั้งแต่ Column header และข้อมูล โดยมีสัญลักษณ์ comma คั่นระหว่าง column

ถ้าดูที่ Variable Pane ทางขวา แล้ว double click ที่ตัวแปร ExcelData จะเห็นข้อมูลที่เราสั่งให้โรบอทอ่านจาก Excel

กรณีนี้เราไม่ได้บอกโรบอทว่าข้อมูลนี้มี Column header โรบอทก็จะตั้งชื่อ Column ให้เราเองเป็น Column1, Column2, Column3, …

ถ้าเราต้องการบอกโรบอทว่าข้อมูลนี้มี Column header นะ แล้วต้องการนำเฉพาะข้อมูลจริงๆ ไปใช้งาน ให้ double click ที่ action “Read from Excel worksheet” แล้วไปที่ Advanced เปิด toggle “First line of range contains column names” กด Save

กด Save แล้ว Run ใหม่

ถ้าข้อมูลใน Excel เพิ่มขึ้น/ลดลงจะสั่งให้อ่านยังไง?
ใช้วิธีหา First free row แล้วนำมาลบ 1 เพื่อบอก range ของ Excel

Get first free column/row from Excel worksheet
ลาก action “Get first free column/row from Excel worksheet” มาไว้ก่อน “Read from Excel worksheet”
จะได้ Variables produced เป็น FirstFreeColumn และ FirstFreeRow กด Save

จากนั้นให้ double click ที่ action “Read from Excel worksheet” ที่ parameter “End row” ให้เลือกตัวแปร FirstFreeRow มาใส่ แล้วเขียน Expression ลบ 1
จาก Excel ด้านบน FirstFreeRow จะมีค่า 12 เมื่อเราเขียนใน Expression โปรแกรมจะคำนวณค่าเป็น 12 – 1 = 11
เมื่อข้อมูลในไฟล์ Excel มีการเปลี่ยนแปลงเพิ่ม/ลด ก็จะหาค่าของข้อมูลได้ยืดหยุ่นกว่าการใส่ตัวเลขลงไปตรงๆ

Edited Flow

ลองเพิ่มข้อมูลใน Excel แล้ว Run

Result 2

ขอบคุณข้อมูลสำหรับ mock data จาก One Piece Wiki
สำหรับใครที่อยากดูโค้ด Power Automate Desktop ของบทความนี้ สามารถเข้าไป copy code ที่ github แล้วนำไปวางที่ Workspace ของ Power Automate Desktop ได้เลย แต่จะต้องไปปรับแก้เองนิดนึงนะ (ลองอ่านทบทวนบทความนี้อีกครั้งทำได้แน่นอน ❤️🔥)

หวังว่าบทความนี้จะเป็นประโยชน์กับเพื่อนๆ ที่เพิ่งเริ่มศึกษา Power Automate Desktop ถ้าหากมีข้อสงสัยตรงไหนเกี่ยวกับบทความนี้ก็สามารถ comment ถามเข้ามาได้เลย
อย่าลืมกด like, share, subscribe สำหรับบทความดีๆ ต่อจากนี้ (กดปุ่ม subscribe แล้วจะได้ mail confirm subscription ให้ยืนยันอีกครั้งด้วยนะคะ)
จนกว่าจะได้พบกันอีกครั้ง Happy Automating!! 😁
Video


Leave a comment