Office Scripts คืออะไร?
Office Scripts เป็นคุณสมบัติใน Excel สำหรับเว็บ (Excel Online) ที่ช่วยให้ผู้ใช้ทำให้งานซ้ำๆ และเวิร์กโฟลว์เป็นอัตโนมัติได้โดยใช้สคริปต์ที่พัฒนาจาก JavaScript/TypeScript ต่างจากแมโคร Excel แบบดั้งเดิม (ซึ่งทำงานได้เฉพาะในแอปเดสก์ท็อป) Office Scripts เป็นระบบบนคลาวด์และสามารถทำงานได้อย่างราบรื่นในเบราว์เซอร์ เหมาะสำหรับการทำให้กระบวนการประมวลผลข้อมูล การจัดรูปแบบ การสร้างรายงาน และการผสานรวมกับเครื่องมือ Microsoft 365 อื่นๆ เช่น Power Automate
ข้อดีของ Office Scripts
- ทำให้งานซ้ำๆ เป็นอัตโนมัติ: ประหยัดเวลาและลดข้อผิดพลาดจากมนุษย์
- ทำงานบนคลาวด์: ไม่ต้องใช้ Excel บนเดสก์ท็อป ทำงานได้ทุกที่ที่มี Excel Online
- ผสานรวมกับ Power Automate: เรียกใช้สคริปต์เป็นส่วนหนึ่งของเวิร์กโฟลว์หลายขั้นตอนทั่ว Microsoft 365
- เพิ่มประสิทธิภาพการทำงานร่วมกัน: ผู้ที่มีสิทธิ์เข้าถึงสามารถรันหรือแก้ไขสคริปต์ได้
เริ่มต้นใช้งาน Office Scripts
ข้อกำหนดเบื้องต้น
- การสมัครสมาชิก Microsoft 365 Business หรือ Education
- สิทธิ์เข้าถึง Excel สำหรับเว็บ
- ผู้ดูแลระบบต้องเปิดใช้งานคุณสมบัติ Office Scripts
หา Office Scripts ได้ที่ไหน
- เปิด Excel Online และสมุดงานของคุณ
- ไปที่แท็บ Automate (ริบบอนด้านบน)
- คุณจะเห็นตัวเลือก Record Actions และ New Script
สร้าง Office Script แรกของคุณ
ลองทำให้เวิร์กโฟลว์ง่ายๆ เป็นอัตโนมัติ: ล้างข้อมูลเก่า นำเข้าข้อมูลใหม่ และจัดรูปแบบตาราง
ขั้นตอนที่ 1: บันทึกสคริปต์
Record Actions (บันทึกการกระทำ):
- ไปที่แท็บ Automate >> คลิก Record Actions
- ทำการกระทำที่ต้องการใน Excel (เช่น จัดรูปแบบเซลล์ แทรกสูตร)
- เมื่อเสร็จแล้ว คลิก Stop สคริปต์ของคุณถูกบันทึกแล้ว
- สามารถดูและแก้ไขโค้ดได้ทันที
ตัวอย่างขั้นตอนการทำให้เป็นอัตโนมัติ:
- เลือกส่วนหัวและทำให้เป็น ตัวหนา (Bold)
- เลือกคอลัมน์ OrderDate และจัดรูปแบบเป็น Short Date
- เลือกคอลัมน์ Unit Price และจัดรูปแบบเป็น Currency
- ในคอลัมน์ถัดไป (E) เพิ่มส่วนหัว Sales
- ในเซลล์ E2 แทรกสูตร:
=C2*D2 - ลากอัตโนมัติสูตรนี้สำหรับแถวที่เหลือ
- คลิก Stop
ขั้นตอนที่ 2: ทำให้การรีเฟรชข้อมูลและจัดรูปแบบเป็นอัตโนมัติ
เขียนสคริปต์ด้วยตนเองสำหรับงานที่ซับซ้อนกว่า:
- ล้างข้อมูลรายงานเก่า
- คัดลอกข้อมูลใหม่จากเวิร์กชีตอื่น ("RawData")
- วางข้อมูลในชีต "Report"
- จัดรูปแบบช่วงข้อมูลเป็นตาราง
ตัวอย่างโค้ด Office Script:
function main(workbook: ExcelScript.Workbook) {
// เลือกชีต 'Report'
let reportSheet = workbook.getWorksheet("Report");
// ล้างข้อมูลใน A1:E15
let clearRange = reportSheet.getRange("A1:E15");
clearRange.clear(ExcelScript.ClearApplyTo.all);
// ดึงข้อมูลใหม่จาก 'RawData'!A1:E15
let rawSheet = workbook.getWorksheet("RawData");
let sourceRange = rawSheet.getRange("A1:E15");
// คัดลอกค่า สูตร และรูปแบบตัวเลข
let values = sourceRange.getValues();
let formulas = sourceRange.getFormulas();
let numberFormats = sourceRange.getNumberFormats();
// วางข้อมูลใหม่ใน 'Report'
let targetRange = reportSheet.getRange("A1:E15");
targetRange.setValues(values);
targetRange.setFormulas(formulas);
targetRange.setNumberFormats(numberFormats);
// จัดรูปแบบเป็นตาราง
let lastRow = values.filter(row => row[0] !== "").length + 1;
let tableRange = `A1:E${lastRow}`;
let table = reportSheet.addTable(tableRange, true);
table.setName("SalesReport");
// ปรับขนาดคอลัมน์อัตโนมัติ
reportSheet.getUsedRange().getFormat().autofitColumns();
}
ขั้นตอนที่ 3: บันทึกและรันสคริปต์
- คลิก Save Script ตั้งชื่อ (เช่น "Refresh Sales Report")
- คลิก Run เพื่อรันสคริปต์ กระบวนการทำงานทันที และรายงานของคุณจะถูกรีเฟรช!
ทำให้การรันสคริปต์เป็นอัตโนมัติด้วย Power Automate
คุณสามารถเรียกใช้ Office Scripts โดยอัตโนมัติด้วย Power Automate:
- ไปที่ Power Automate และสร้าง Flow ใหม่
- ใช้ Trigger (เช่น "When a file is created in OneDrive")
- เพิ่ม Action Run script และเลือกสมุดงาน Excel และสคริปต์ของคุณ
- ทำให้กระบวนการหลายขั้นตอนเป็นอัตโนมัติ: ดึงข้อมูล ประมวลผล ส่งอีเมล แจ้งเตือนทีม ฯลฯ
กรณีการใช้งาน: กำหนดให้สคริปต์รันทุกวันจันทร์เช้าและส่งอีเมลรายงานที่อัปเดตแล้ว
เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด
- ใช้คอมเมนต์ในสคริปต์เพื่อความชัดเจน
- ทดสอบบนสำเนาก่อนรันบนข้อมูลจริง
- ตั้งชื่อตารางและช่วงข้อมูลให้ชัดเจน
- รวมกับ Power Automate สำหรับเวิร์กโฟลว์ข้ามแอป
- ใช้การจัดการข้อผิดพลาดเพื่อทำให้สคริปต์ทนทาน
ตัวอย่างการใช้งานจริง
- รีเฟรชรายงานขายรายสัปดาห์: ดึงข้อมูลขายดิบ ทำความสะอัด สรุป และจัดรูปแบบตาราง
- ตรวจสอบข้อมูลอัตโนมัติ: ตรวจสอบค่าที่ขาดหายหรือซ้ำซ้อนและแจ้งเตือนผู้ใช้
- จัดรูปแบบเพื่อความสอดคล้อง: ใช้สไตล์บริษัท ส่วนหัว และโลโก้ได้ในคลิกเดียว
- ประมวลผลข้อมูลแบบแบทช์: รวมข้อมูลจากหลายชีตหรือสมุดงาน
สรุป
Office Scripts ทำให้งาน Excel ที่ซ้ำซ้อนง่ายขึ้นอย่างมาก ช่วยให้จัดการและรายงานข้อมูลได้อย่างรวดเร็วและสม่ำเสมอ ด้วยการผสานรวมกับโซลูชันอัตโนมัติเช่น Power Automate คุณสามารถสร้างเวิร์กโฟลว์ที่ราบรื่นสำหรับการดำเนินงานทางธุรกิจได้ เริ่มจากสิ่งง่ายๆ สำรวจการบันทึกการกระทำ และสร้างอัตโนมัติขั้นสูงและการผสานรวมกับ Power Automate อย่างค่อยเป็นค่อยไป