Trong nhiều năm nay, những người yêu thích Excel đã dự đoán động thái của Microsoft sẽ như thế nào về mặt kịch bản trong Microsoft Office. Cho đến nay, nhiều người dùng đang tạo các ứng dụng sử dụng văn phòng nhỏ và tự động hóa trên Excel và các giải pháp MS Office khác dù tốt hay xấu, đơn giản là do bạn có thể mở rộng chúng một cách dễ dàng. Tuy nhiên, câu hỏi đặt ra là – Microsoft dự định làm gì. VBA đã tồn tại hơn 20 năm và đã lâu không được mở rộng với bất kỳ khả năng mới nào. Cửa sổ Nhà phát triển cũng không có nhiều thay đổi và đã có nhiều tin đồn rằng VBA sẽ được lên kế hoạch thay thế bằng một ngôn ngữ lập trình hoặc nền tảng khác (như Python). Hãy xem câu chuyện đằng sau Office Scripts vs VBA là gì…
Sự xuất hiện của TypeScript cho Excel
Việc chuyển sang Javascript/TypeScript có lẽ có ý nghĩa đối với Microsoft vì Javascript duy trì vị trí số 1 là ngôn ngữ lập trình phổ biến trong nhiều năm nay. Bản đánh máy nằm trong top 7, đây là một thành tích cũng như đặc biệt là cả hai ngôn ngữ đều có cú pháp tương tự nhau
Office Scripts chỉ hoạt động trên phiên bản web của MS Office và Excel
Trong nhiều tháng, tôi đã tò mò liệu Microsoft có di chuyển và thay thế VBA bằng Typescript hay không
Chiến lược mới cho kịch bản trong MS Office
Các bản cập nhật mới trên tài liệu của Microsoft dường như đề xuất Office Scripts (TypeScript/Javascript) sẽ không sớm chuyển sang phiên bản Excel dành cho máy tính để bàn và đây là chiến lược mà họ sẽ theo đuổi. Như bạn có thể đọc trên trang web của Microsoft, cả VBA và Office Script đều có vai trò riêng
VBA sẽ là ngôn ngữ máy tính ưa thích để tự động hóa sổ làm việc ngoại tuyến của bạn. Tuy nhiên, trích dẫn Microsoft VBA không có cách thuận tiện để gọi ra internet – do đó bạn sẽ không có cách dễ dàng để xây dựng các tập lệnh và giải pháp API được kết nối. Mặt khác, Office Scripts là giải pháp tạo tập lệnh được chỉ định cho phiên bản trực tuyến của các ứng dụng Excel và MS Office. Microsoft gợi ý rằng Office Scripts sẽ được kết nối với web nhiều hơn và tốt hơn về tính di động và khả năng truy cập
Tập lệnh Office sử dụng thời gian chạy chung cho JavaScript. Điều này mang lại hành vi và khả năng truy cập nhất quán, bất kể máy được sử dụng để chạy tập lệnh. Họ cũng có thể thực hiện cuộc gọi đến các dịch vụ web khác
Rõ ràng là Microsoft muốn cho phép bạn tự động hóa các Tập lệnh Office bằng các nền tảng khác của mình như Power Automate. Cho phép bạn tạo tác vụ văn phòng tự động E2E mà bạn có thể lên lịch với nền tảng đám mây của nó mà không cần thời gian chạy Excel. Tôi nghĩ đây là một động thái tuyệt vời và sẽ tạo động lực cho nhiều người dùng bắt đầu học Office Scripts
LAMBDA, PowerQuery
Nó có vẻ không được liên kết trực tiếp nhưng điều quan trọng cần lưu ý là Microsoft đang đầu tư vào việc mở rộng các công cụ Excel được nhúng và ngôn ngữ Công thức để hạn chế các trường hợp người dùng hiện đang tiếp cận với tập lệnh. Ý tưởng là hạn chế mọi trường hợp sử dụng mã hóa
Xem thêm Làm việc với tệp XML trong VBA (VBA XML)
Ngoài việc đầu tư vào việc mở rộng ngôn ngữ Công thức Excel, Microsoft nhận thấy nhiều người dùng đang sử dụng các tập lệnh để xóa tập dữ liệu của họ và chạy các truy vấn đối với trang tính của họ. Với Power Query, bạn không cần chạy thêm bất kỳ tập lệnh VBA nào để sửa cột hoặc chạy truy vấn đối với nhiều trang tính – bạn chỉ cần tải chúng vào Power Query, liên kết các bảng của mình và làm mới truy vấn bất kỳ lúc nào bạn cần. Cần cạo dữ liệu từ một trang web?
Ngoài ra – họ muốn kết nối người dùng với Power Query và bắt đầu chuyển họ sang các công cụ thích hợp cho các trường hợp sử dụng của họ – như Power BI. Nếu bạn đã học Power Query, thì sẽ không có nhiều thời gian học tập để dùng thử Power BI, vì Power BI được tích hợp sẵn Power Query để nhập dữ liệu. Tương tự, ngay cả Azure, giải pháp đám mây của Microsoft, cũng có Power Query làm công cụ nhập dữ liệu khả dụng cho Data Factory và một số dịch vụ khác. Họ biết rằng việc thu hút người dùng quen thuộc với Power Query đến với các giải pháp khác của họ sẽ dễ dàng hơn
kết luận
Tôi nghĩ rằng Microsoft đã đưa ra một quyết định đúng đắn khi duy trì VBA cho các thế hệ người dùng Excel trong tương lai. Có nhiều giải pháp kế thừa chạy trên VBA và mặc dù ngôn ngữ này chưa phát triển nhưng nó vẫn phù hợp với mục đích cho các tác vụ tự động hóa nhỏ
Office Scripts vẫn còn trong giai đoạn sơ khai. Tuy nhiên, Microsoft có tầm nhìn tốt về cách khuyến khích người dùng chuyển sang Office 365 và bắt đầu học Office Scripts. Các công ty muốn tự động hóa các giải pháp Excel của họ dễ dàng hơn sẽ muốn chuyển sang một nền tảng dễ tích hợp hơn với các giải pháp Tự động hóa thông minh (như Power Automate). Theo thời gian, Office Script sẽ an toàn hơn, dễ chia sẻ và chạy hơn VBA Macros. Quá trình chuyển đổi sẽ vẫn mất nhiều thời gian do không có cách nào dễ dàng để bắt đầu phát triển các tác vụ tự động hóa TypeScript trên phiên bản Excel dành cho máy tính để bàn