Main flow และ Sub flow คืออะไร
ใน Power Automate Desktop Flow จะประกอบด้วย
- Main Flow เป็นโฟลว์การทำงานหลัก สร้างให้อัตโนมัติตั้งแต่แรก
- Sub Flow เป็นโฟลว์การทำงานย่อย user สามารถสร้างเพื่อจัดระเบียบการทำงานของโฟลว์ได้
Main Flow จะมีมาตั้งแต่กด Create ตามภาพด้านล่าง

เราสามารถสร้าง Sub Flow ได้โดยการคลิกที่ Subflows > New subflow และสามารถเรียกให้ Subflow ทำงานได้ด้วยการใช้คำสั่ง Run Subflow

เพื่อให้เห็นภาพ จะขอยกตัวอย่าง Flow ที่เคยเขียนในบทความ อ่าน Excel ด้วย Power Automate Desktop มาเขียนเพิ่มเติมแบบง่ายๆ (ปกติการเขียน Subflow จะใช้ในกรณีที่ขั้นตอนการทำงานของโรบอทมีความซับซ้อนมากกว่านี้)
จากบทความดังกล่าว Main Flow จะมีคำสั่งต่างๆ ดังนี้

สร้าง Subflow
บทความนี้เราจะแยกคำสั่งการทำงานของโรบอทเป็นการทำงานของแต่ละโปรแกรม คือ Excel, Notepad แล้วจะมี flow ที่เอาไว้ประกาศค่าตัวแปรต่างๆ เผื่อในกรณีที่อนาคตมีค่าอะไรเปลี่ยนไป จะได้ง่ายต่อการจัดการ
สร้าง Subflow 1 คลิกที่ Subflows > New subflow แล้วตั้งชื่อว่า ReadExcel

สร้าง Subflow 2 คลิกที่ Subflows > New subflow แล้วตั้งชื่อว่า WriteTextToFile

ลากคำสั่งที่เกี่ยวกับ Excel ไปไว้ที่ Subflow 1 (ReadExcel) และลากคำสั่งที่เกี่ยวกับ Text File ไปไว้ที่ Subflow 2 (WriteTextToFile)
จากนั้นลากคำสั่ง Run Subflow มาไว้ที่ Main แล้วเลือกชื่อ Subflow ที่ต้องการเรียกใช้

สร้าง Subflow 3 ตั้งชื่อว่า SetVariables

- ลากคำสั่ง Set variable มาวาง แล้วตั้งชื่อตัวแปร ExcelPath แล้วนำ path Excel มาใส่ (เวลาที่ไฟล์ Excel ที่ต้องการอ่านค่าเปลี่ยน path ไป เราจะได้มาแก้ที่ Subflow นี้)
- ลากคำสั่ง Set variable มาวาง แล้วตั้งชื่อตัวแปร TextWritePath แล้วใส่ค่า path ที่ต้องการเขียนค่าที่อ่านได้จาก Excel ลงไป

เมื่อเรากำหนด Path ของ Excel และ Text File แล้ว ก็ไปแก้ไขค่าที่ใส่ไว้ใน Subflow อื่นๆ ได้
ที่ Subflow ReadExcel แก้ชื่อ Path ที่เคยใส่ค่าไว้ตรงๆ ให้เป็นตัวแปร ExcelPath

ที่ Subflow WriteTextToFile แก้ชื่อ Path ที่เคยใส่ค่าไว้ตรงๆ ให้เป็นตัวแปร TextWritePath

ที่ Main flow เพิ่มคำสั่ง Run Subflow อีกหนึ่งบรรทัดแล้วเลือก flow name SetVariables

Exit Subflow ด้วยนะ



ข้อดีของการเขียน Subflow
- ทำให้อ่าน main flow ได้ง่ายขึ้น
- Action ไหนที่ทำงานซ้ำๆ กัน จะได้แยกออกไปเป็น Subflow เพื่อความสะดวกในการเรียกใช้งาน
- สามารถใช้ Subflow เป็น “Branching” ได้ เช่น กรณีที่เกิด error แล้วต้องไปทำงานอีกแบบหนึ่ง


Leave a comment