Office Scripts là một tính năng trong Excel cho web (Excel Online) cho phép người dùng tự động hóa các tác vụ và quy trình làm việc lặp lại bằng cách sử dụng các script dựa trên JavaScript. Khác với các macro Excel truyền thống (chỉ hoạt động trong ứng dụng máy tính để bàn), Office Scripts dựa trên đám mây và có thể chạy liền mạch trong trình duyệt. Chúng lý tưởng cho việc tự động hóa xử lý dữ liệu, định dạng, báo cáo và tích hợp với các công cụ Microsoft 365 khác như Power Automate.
Office Scripts Là Gì?
Office Scripts là các script JavaScript/TypeScript tự động hóa các tác vụ và quy trình làm việc trong Excel Online. Chúng có thể xử lý định dạng, tính toán, thao tác dữ liệu, v.v.
- Tự động hóa tác vụ lặp lại: Tiết kiệm thời gian và giảm thiểu lỗi do con người.
- Hoạt động trên đám mây: Không cần Excel máy tính để bàn; chạy ở bất cứ nơi nào có Excel Online.
- Tích hợp với Power Automate: Kích hoạt script như một phần của quy trình làm việc nhiều bước trên Microsoft 365.
- Nâng cao cộng tác: Bất kỳ ai có quyền truy cập đều có thể chạy hoặc chỉnh sửa script.
Bắt Đầu
Điều kiện tiên quyết:
- Đăng ký Microsoft 365 Business hoặc Education.
- Truy cập Excel cho web.
- Quản trị viên của bạn phải bật tính năng Office Scripts.
Tìm Office Scripts Ở Đâu:
- Mở Excel Online và sổ làm việc của bạn.
- Chuyển đến tab Automate (Tự động hóa) (thanh ribbon trên cùng).
- Bạn sẽ thấy các tùy chọn Record Actions (Ghi hành động) và New Script (Script mới).
Tạo Office Script Đầu Tiên Của Bạn
Hãy tự động hóa một quy trình làm việc đơn giản: Xóa dữ liệu cũ, nhập dữ liệu mới và định dạng bảng.
Bước 1: Ghi Script Của Bạn
Ghi Hành Động:
- Chuyển đến tab Automate >> nhấp Record Actions.
- Thực hiện các hành động mong muốn trong Excel (ví dụ: định dạng ô, chèn công thức).
- Khi hoàn tất, nhấp Stop (Dừng). Các hành động script của bạn hiện đã được ghi lại.
- Script được lưu và bạn có thể xem/chỉnh sửa mã của nó.
Các Bước Tự Động Hóa:
- Chuyển đến tab Automate >> nhấp Record Actions.

- Chọn tiêu đề và làm cho chúng Bold (In đậm).
- Chọn cột OrderDate và định dạng nó thành Short Date (Ngày ngắn).
- Chọn cột Unit Price và định dạng nó thành Currency (Tiền tệ).
- Ở cột tiếp theo (E), thêm tiêu đề Sales (Doanh số).
- Trong ô E2, chèn công thức:
- Tự động điền công thức này cho các hàng còn lại.
- Nhấp Stop.

- Xem script trong Code Editor (Trình soạn thảo mã).

Chỉnh Sửa Script:
Bạn có thể xem và chỉnh sửa script đã ghi trong JavaScript:

Office Script:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Đặt font in đậm cho phạm vi A1:D1 trên selectedSheet
selectedSheet.getRange("A1:D1").getFormat().getFont().setBold(true);
// Đặt định dạng cho phạm vi A2:A11 trên selectedSheet
selectedSheet.getRange("A2:A11").setNumberFormatLocal("m/d/yyyy");
// Tự động điều chỉnh độ rộng cột của phạm vi A:A trên selectedSheet
selectedSheet.getRange("A:A").getFormat().autofitColumns();
// Đặt định dạng cho phạm vi D2:D11 trên selectedSheet
selectedSheet.getRange("D2:D11").setNumberFormatLocal("$#,##0.00");
// Đã xảy ra lỗi khi ghi sự kiện này.
// Đặt phạm vi E2 trên selectedSheet
selectedSheet.getRange("E2").setFormulaLocal("=C2*D2");
// Tự động điền phạm vi
selectedSheet.getRange("E2").autoFill("E2:E11", ExcelScript.AutoFillType.fillDefault);
}
Bước 2: Tự Động Hóa Làm Mới Dữ Liệu Và Định Dạng
Giả sử bạn muốn tự động hóa làm mới dữ liệu và định dạng.
- Xóa dữ liệu hiện có.
- Sao chép dữ liệu mới từ một worksheet khác ("RawData").
- Dán dữ liệu vào sheet "Report".
- Định dạng phạm vi thành bảng.
Viết Script Thủ Công:
- Chuyển đến tab Automate >> nhấp New Script.
- Trình soạn thảo mã mở ra với cấu trúc hàm cơ bản:

Office Script:
function main(workbook: ExcelScript.Workbook) {
// Chọn worksheet 'Report'
let reportSheet = workbook.getWorksheet("Report");
// Xóa mọi thứ trong A1:E15
let clearRange = reportSheet.getRange("A1:E15");
clearRange.clear(ExcelScript.ClearApplyTo.all);
// Lấy dữ liệu mới từ 'RawData'!A1:E15
let rawSheet = workbook.getWorksheet("RawData");
let sourceRange = rawSheet.getRange("A1:E15");
// Sao chép giá trị, công thức và định dạng số
let values = sourceRange.getValues();
let formulas = sourceRange.getFormulas();
let numberFormats = sourceRange.getNumberFormats();
// Dán dữ liệu mới vào 'Report'
let targetRange = reportSheet.getRange("A1:E15");
targetRange.setValues(values);
targetRange.setFormulas(formulas);
targetRange.setNumberFormats(numberFormats);
// Định dạng thành bảng
let lastRow = values.filter(row => row[0] !== "").length + 1; // header + các hàng không rỗng
let tableRange = `A1:E${lastRow}`;
let table = reportSheet.addTable(tableRange, true);
table.setName("SalesReport");
// Tùy chọn: Tự động điều chỉnh cột
reportSheet.getUsedRange().getFormat().autofitColumns();
}
- Xóa dữ liệu báo cáo cũ.
- Nhập dữ liệu mới từ worksheet dữ liệu thô, kiểu dữ liệu và công thức.
- Định dạng dữ liệu nhập vào thành bảng.
- Tự động điều chỉnh cột để dễ đọc hơn.
Bước 3: Lưu Và Chạy Script
- Nhấp Save Script, đặt tên (ví dụ: "Refresh Sales Report").
- Nhấp Run để thực thi. Quá trình diễn ra ngay lập tức và báo cáo của bạn được làm mới!

Tự Động Hóa Thực Thi Script Với Power Automate
Bạn có thể kích hoạt Office Scripts tự động bằng Power Automate:
- Đi đến Power Automate và tạo một flow mới.
- Sử dụng trigger (ví dụ: "When a file is created in OneDrive").
- Thêm hành động Run script và chọn sổ làm việc Excel và script của bạn.
- Tự động hóa các quy trình nhiều bước: lấy dữ liệu, xử lý, gửi email, thông báo cho teams, v.v.
Trường hợp sử dụng: Lên lịch chạy script mỗi thứ Hai sáng và gửi email báo cáo đã cập nhật.
Mẹo & Thực Hành Tốt Nhất
- Sử dụng chú thích trong script của bạn để rõ ràng.
- Kiểm tra trên bản sao trước khi chạy trên dữ liệu thật.
- Đặt tên bảng và phạm vi rõ ràng.
- Kết hợp với Power Automate cho quy trình làm việc đa ứng dụng.
- Tận dụng xử lý lỗi để làm cho script mạnh mẽ hơn.
Ví Dụ Thực Tế
- Làm mới báo cáo bán hàng hàng tuần: Kéo dữ liệu bán hàng thô, làm sạch, tóm tắt và định dạng bảng.
- Xác thực dữ liệu tự động: Kiểm tra giá trị bị thiếu hoặc trùng lặp và cảnh báo người dùng.
- Định dạng để nhất quán: Áp dụng kiểu công ty, tiêu đề và logo chỉ với một cú nhấp chuột.
- Xử lý dữ liệu hàng loạt: Hợp nhất dữ liệu từ nhiều sheet hoặc sổ làm việc.
Kết Luận
Office Scripts đơn giản hóa đáng kể các tác vụ Excel lặp lại, cho phép thao tác và báo cáo dữ liệu nhanh chóng và nhất quán. Với tích hợp vào các giải pháp tự động hóa rộng hơn như Power Automate, bạn có thể thiết lập các quy trình làm việc liền mạch cho hoạt động kinh doanh của mình. Hãy bắt đầu đơn giản, khám phá ghi hành động và dần dần xây dựng tự động hóa nâng cao và tích hợp với Power Automate.
Nhận Bài Tập Excel Nâng Cao Miễn Phí Kèm Giải Pháp!