Microsoft Office đã hỗ trợ các macro Visual basic for Applications (VBA) kể từ phiên bản Excel 5.0 vào năm 1993 và hiện tính năng này vẫn được sử dụng trên nhiều phiên bản cập nhật khác. Mặc dù chúng có thể sẽ hữu ích, đặc biệt là khi người dùng cần thực hiện những tác vụ tự động hóa với tài liệu của mình, nhưng không ít trong số đó bị lợi dụng để làm môi trường phát tán phần mềm độc hại. Chính vì vậy, Microsoft đã thông báo rằng tất cả các macro này sẽ bị tắt theo mặc định trên tất cả ứng dụng Office hiện được hỗ trợ.
Trước đây, Microsoft đã bắt đầu vô hiệu hóa các macro Excel 4.0 theo dạng kế thừa (hay còn gọi là macro XLM) và hiện tại công việc này được mở rộng hơn với một số loại macro VBA. Công ty cho biết rằng, trong nhiều năm qua bộ ứng dụng văn phòng Office đã cung cấp nhiều khả năng tự động hóa mạnh mẽ giúp người dùng loại bỏ sự phiền toái từ những tác vụ lặp đi lặp lại, phổ biến nhất là macro. Mặc dù được cảnh báo về việc kẻ xấu có thể lợi dụng chúng để phát tán phần mềm độc hại, nhưng người dùng vẫn rất dễ kích hoạt chúng cho dù là “vô tình hay cố tình” dẫn đến việc bị tác động nghiêm trọng bao gồm malware, đánh cắp dữ liệu, xâm phạm quyền riêng tư và trở thành mục tiêu có thể tấn công từ xa.
Tuy nhiên, thay đổi này sẽ không chỉ xuất hiện trong các phiên bản mới nhất của bộ ứng dụng Office, Microsoft dự kiến áp dụng cả với Office LTSC, Office 2021, Office 2019, Office 2016 và Office 2013. Lưu ý rằng, việc chặn macro VBA chỉ được triển khai đối với nền tảng Windows, mặc dù Office trên macOS cũng hỗ trợ macro tương tự. Phiên bản di động và web không bị ảnh hưởng bởi không bao gồm các macro VBA.
Marco là gì?
Macro là một công cụ cho phép bạn tự động hóa các tác vụ và thêm chức năng vào biểu mẫu, báo cáo và điều khiển. Ví dụ: nếu bạn thêm một nút lệnh vào biểu mẫu, bạn liên kết thuộc tính sự kiện OnClick của nút đó với macro chứa các lệnh mà bạn muốn nút đó thực hiện mỗi lần bấm.
Sẽ rất hữu ích nếu xem macro của Access như một ngôn ngữ lập trình đơn giản hóa cho phép bạn tạo mã bằng cách xây dựng một danh sách các hành động cần thực hiện. Khi dựng một macro, bạn chọn từng hành động từ danh sách thả xuống, rồi điền thông tin bắt buộc cho từng hành động. Macro cho phép bạn thêm chức năng vào biểu mẫu, báo cáo và điều khiển mà không cần viết mã trong mô-đun Visual Basic for Applications VBA. Macro cung cấp một tập hợp con chứa các lệnh sẵn dùng trong VBA và hầu hết mọi người đều thấy việc dựng macro dễ dàng hơn là viết mã VBA.
Ví dụ, giả sử rằng bạn muốn bắt đầu một báo cáo trực tiếp từ một trong các biểu mẫu mục nhập dữ liệu của bạn. Bạn có thể thêm một nút vào biểu mẫu của bạn và sau đó tạo một macro mở báo cáo. Macro có thể là một macro độc lập (một đối tượng riêng biệt trong cơ sở dữ liệu) được liên kết với thuộc tính sự kiện OnClick của nút, hoặc macro có thể được nhúng trực tiếp vào thuộc tính sự kiện OnClick của các nút đó. Dù bằng cách nào, khi bạn bấm vào nút, macro sẽ chạy và mở báo cáo. Các kiểu macro thường được gọi là các macro giao diện người dùng.
Access 2010 là phiên bản đầu tiên giới thiệu khái niệm về macro dữ liệu. Macro dữ liệu cho phép bạn tự động hóa các tác vụ và thêm chức năng trực tiếp vào bảng của mình. Macro dữ liệu và hành động của chúng được đính kèm vào sự kiện bảng cụ thể như khi bạn thêm bản ghi mới vào bảng.
Như vậy, các giải pháp chạy macro đối với các phiên bản office mới sẽ không còn là lựa chọn, đặc biệt, nhiều hệ thống quản trị vẫn đang sử dụng macro để vận hành các tệp excel và access.