Excel เป็นแพลตฟอร์มทรงพลังและมักเป็นมากกว่าแค่เครื่องมือสเปรดชีต ด้วยพลังของ Power Automate และ Power BI คุณสามารถทำให้ Excel ทำหน้าที่เหมือน workflow launcher ที่คลิกปุ่มได้แล้ว refresh รายงาน ส่งอีเมล อัปเด트 SharePoint lists หรือแม้กระทั่ง trigger approval workflows
ในบทช่วยสอนนี้ เราจะแสดงวิธี trigger Power BI หรือ Power Automate actions จากปุ่ม Excel
ทำไมต้อง Trigger Power BI หรือ Power Automate จาก Excel?
- ทำให้งานซ้ำๆ อัตโนมัติโดยตรงจากสเปรดชีต
- Refresh Power BI dashboards ตามความต้องการ
- ส่งข้อมูล Excel ไป Teams, Outlook, หรือ SharePoint ทันที
- Launch approval workflows โดยไม่ออกจาก Excel
- ทำให้ Excel กลายเป็น "app" เบาๆ พร้อมปุ่ม workflow
สิ่งที่คุณต้องการ (Prerequisites)
- บัญชี Microsoft 365 พร้อม Excel for the web (สำหรับ Office Scripts)
- เข้าถึง Power Automate (รวมใน Microsoft 365)
- Power BI Service (ฟรีหรือ Pro ขึ้นกับความต้องการ sharing dataset)
วิธีที่ 1: ใช้ปุ่ม Excel Online กับ Office Scripts (Regular)
วิธีนี้ทำงานบน Power Automate เวอร์ชันมาตรฐาน (ไม่ต้อง Premium)
ขั้นตอนที่ 1: สร้าง Office Script ใน Excel
- เปิดสมุดงานใน Excel for the web
- ไปที่แท็บ Automate >> เลือก New Script
- แทนที่สคริปต์ที่มีด้วยสคริปต์ต่อไปนี้:
function main(workbook: ExcelScript.Workbook) {
console.log("Excel button clicked! Triggering Power Automate...");
}
- บันทึกเป็น TriggerFlow
ขั้นตอนที่ 2: เพิ่มปุ่มใน Excel
- คุณสามารถเพิ่มปุ่มจาก Code Editor
- คลิก More Options (…) >> เลือก Add in Workbook
ตอนนี้ การคลิกปุ่มนี้จะรันสคริปต์ของคุณ
ขั้นตอนที่ 3: เชื่อมสคริปต์กับ Power Automate
- Automate tasks จาก Code Editor
- คลิก More Options (…) >> เลือก Automate a Task
- มันจะนำทางไปยังเว็บไซต์ Power Automate
- คลิก Continue
- ใน Run Script >> เลือก Parameters
- Location: เลือก Excel Online (Business)
- Document Library: เลือก Documents
- File: เลือก Excel file ของคุณ
- Script: เลือก TriggerFlow
- คลิกไอคอน Plus (+) เพื่อเพิ่ม action
- เลือก Power BI
- คุณจะเห็น actions หลายตัวสำหรับ Power BI
- เลือก Refresh a dataset
- ใน Parameters
- Workspace: เลือก My workspace
- Dataset: เลือก dataset ของคุณ
- คุณสามารถเพิ่ม actions อื่นๆ ใน flow
- Outlook → Send an email
- Teams → Post a message
- SharePoint → Add a new list item
- เมื่อเสร็จแล้ว บันทึก flow
- คลิก Save
ขั้นตอนที่ 4: ทดสอบ Power Automate Flow
- คลิก Test
- เลือก Manually เพื่อทดสอบ flow
- คลิก Test
- คลิก Run flow
- การทดสอบจะรัน แสดงระยะเวลาและแจ้งเตือนสำเร็จเมื่อเสร็จ
- กลับไปที่ Excel for the web
- คลิกปุ่ม TriggerFlow ของคุณ
- สคริปต์รัน → Power Automate ถูก trigger → Action รัน
- เนื่องจากเราเพิ่ม Power BI dataset refresh รายงานของเราอัปเดตทันที
Use Cases:
- Refresh Power BI dashboards ด้วยคลิกเดียว
- ส่งคำขออนุมัติโดยตรงจากชีท Excel
- โพสต์สถานะอัปเดตไป Teams เมื่อข้อมูลเปลี่ยน
- ส่งอีเมลรายงานที่กรองแล้วจาก Excel ให้ผู้จัดการ
- บันทึกข้อมูลคำสั่งซื้อลง SharePoint lists
วิธีที่ 2: Trigger Power Automate Flows จากปุ่ม Excel (Premium)
ขั้นตอนที่ 1: สร้าง Power Automate Flow
- ไปที่ Power Automate
- เลือก Create >> เลือก Instant Cloud Flow
- ตั้งชื่อ flow: Trigger from Excel Button
- เลือก When an HTTP request is received เป็น trigger
- คลิก Create
- คลิกไอคอน Plus (+) เพื่อเพิ่ม action:
- Select Power BI >> Select Refresh a dataset
- ใน Parameters
- Select Workspace
- Select Dataset.
- เพิ่ม action อีกตัว:
- Send an email (V2)
- ใน Parameters
- Insert To
- Type Subject
- Type Body
- ตอนนี้ Save flow
Get the Flow's URL (HTTP Trigger):
- หลังบันทึก flow ขั้นตอน 'When an HTTP request is received' จะสร้าง URL เฉพาะตัว
- คัดลอก URL นี้เพื่อใช้ใน VBA code
ขั้นตอนที่ 2: สร้างปุ่มใน Excel
- เปิด Excel
- ไปที่แท็บ Developer >> เลือก Insert >> เลือก Button (Form Control)
- วาดปุ่มบนชีทของคุณ
- คลิกขวา >> เลือก Assign Macro
ขั้นตอนที่ 3: เพิ่ม VBA Code เรียก Flow
- วางโค้ด VBA นี้ (แทนที่ด้วย Flow URL ของคุณ):
Sub TriggerFlow()
Dim objHTTP As Object
Dim URL As String
URL = "Insert URL from your Flow"
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.Open "POST", URL, False
objHTTP.Send
MsgBox "Flow Triggered Successfully!"
End Sub
- คลิกปุ่ม 'Trigger Power Automate' เพื่อเรียก Power Automate flow ของคุณ
- ข้อความสำเร็จจะปรากฏเมื่อ flow ถูก trigger สำเร็จ
สรุป
โดยปฏิบัติตามวิธีการข้างต้น คุณสามารถ trigger Power BI หรือ Power Automate actions จากปุ่ม Excel ได้ ไม่ว่าคุณจะมีเวอร์ชัน regular หรือ premium ด้วยปุ่ม Excel for the web, Office Scripts, และ Power Automate เวอร์ชันมาตรฐาน คุณสามารถ trigger Power BI refreshes, ส่งอีเมล หรือเริ่ม workflows โดยตรงจากสเปรดชีตแล้ว ถ้าองค์กรของคุณมี Premium licenses คุณสามารถปลดล็อก integration ขั้นสูงได้อีก (เช่น VBA + HTTP triggers หรือ custom APIs) แตแม้กับเวอร์ชันมาตรฐาน Excel ก็สามารถทำหน้าที่เป็น workflow launcher ทรงพลังสำหรับงานประจำวันของคุณ
เริ่มจาก action เล็กๆ สร้างปุ่มที่ refresh Power BI dataset ของคุณ เมื่อคุณเห็นมันทำงาน คุณสามารถขยายไอเดียไปสู่ approvals, email alerts, หรือ team notifications