File XLSM là gì? Phân biệt và hướng dẫn cách mở và sử dụng file

File XLSM là gì? Đây là định dạng bảng tính Excel có khả năng lưu Macro và mã VBA, phù hợp với các workbook cần tự động hóa thao tác hoặc xử lý dữ liệu theo quy trình có sẵn. Tuy nhiên, khả năng chạy mã cũng khiến người dùng cần kiểm tra nguồn tệp trước khi kích hoạt Macro.
File XLSM là gì?
File XLSM là định dạng Excel Macro-Enabled Workbook, tức sổ làm việc Excel có hỗ trợ Macro. Theo Microsoft, XLSM sử dụng cấu trúc dựa trên XML và có thể lưu mã Visual Basic for Applications, thường gọi là VBA, cùng các trang tính Macro Excel 4.0.

Điểm khác biệt dễ nhận biết nằm ở chữ “m” trong phần mở rộng .xlsm, thể hiện workbook có khả năng chứa Macro. Ví dụ, doanh nghiệp có thể dùng tệp XLSM để tạo nút xuất báo cáo, tự động định dạng bảng, tổng hợp dữ liệu hoặc thực hiện chuỗi thao tác lặp lại. Đây cũng là lý do file Excel đuôi XLSM thường xuất hiện trong các quy trình nghiệp vụ có tự động hóa.
Nếu thường xuyên xử lý Excel có Macro, laptop văn phòng cấu hình ổn định sẽ giúp thao tác thuận tiện hơn. Bạn có thể tham khảo tại CellphoneS với trả góp 0%, bảo hành chính hãng và ưu đãi Smember.
[Product_Listing categoryid="1217" propertyid="" customlink="https://cellphones.com.vn/laptop/van-phong.html" title="Danh sách Laptop văn phòng nổi bật tại CellphoneS!"]
Phân biệt XLSM và các định dạng file Excel khác
Không phải mọi định dạng Excel đều có khả năng lưu Macro. XLSM phù hợp khi workbook cần giữ mã VBA, trong khi XLSX thường được dùng cho bảng tính thông thường không chứa mã tự động hóa.
Bảng dưới đây giúp phân biệt một số định dạng thường gặp:
|
Định dạng |
Kiểu lưu trữ |
Lưu VBA Macro |
Phù hợp khi |
|
XLSM |
Open XML |
Có |
Workbook cần chứa Macro, VBA |
|
XLSX |
Open XML |
Không |
Bảng tính thông thường, không cần Macro |
|
XLSB |
Nhị phân |
Có |
Workbook lớn hoặc cần định dạng nhị phân |
|
XLS |
Nhị phân đời cũ |
Có |
Làm việc với hệ thống Excel cũ |
|
XLTM |
Open XML |
Có |
Tạo mẫu Excel có sẵn Macro |
Microsoft xác nhận XLSX không thể lưu mã VBA, trong khi XLSM, XLSB và XLTM có thể giữ Macro. Vì vậy, nếu một file Excel XLSM đang được chuyển sang XLSX, người dùng cần lưu ý rằng phần mã tự động hóa sẽ không được giữ lại.
Ưu - nhược điểm của file XLSM
Lợi thế của XLSM nằm ở khả năng kết hợp dữ liệu bảng tính với Macro để tự động hóa công việc. Người dùng có thể giảm thao tác lặp lại, chuẩn hóa quy trình nhập liệu hoặc tạo các chức năng riêng bằng VBA mà không phải chuyển sang một ứng dụng khác.
Đổi lại, việc chứa mã thực thi khiến tệp XLSM cần được kiểm tra kỹ trước khi bật Macro. Khả năng tương thích cũng có thể giảm khi mở bằng phần mềm không hỗ trợ đầy đủ VBA.
|
Ưu điểm |
Nhược điểm |
|
Lưu được VBA Macro trong workbook |
Macro có thể chứa mã độc nếu tệp đến từ nguồn không tin cậy |
|
Tối ưu hóa quy trình làm việc trên Excel bằng công cụ tự động |
Một số phần mềm bảng tính không chạy đầy đủ mã VBA |
|
Giữ dữ liệu, công thức và mã trong cùng workbook |
Chuyển sang XLSX sẽ làm mất Macro |
|
Phù hợp với biểu mẫu và quy trình xử lý lặp lại |
Có thể bị Excel chặn Macro theo thiết lập bảo mật |
File XLSM có an toàn không và cảnh báo bảo mật
File XLSM có thể an toàn khi đến từ nguồn đáng tin và mã Macro đã được kiểm tra, nhưng phần mở rộng .xlsm không tự chứng minh tệp an toàn. Microsoft cảnh báo người dùng không nên bật Macro nếu chưa biết mã đó thực hiện chức năng gì. Bạn vẫn có thể xem hoặc chỉnh sửa workbook mà không cần kích hoạt Macro.
Lưu ý: Với tệp nhận qua email, ứng dụng chat hoặc tải từ Internet, hãy giữ Macro ở trạng thái tắt cho đến khi xác minh nguồn gửi và quét bảo mật.
Nguy cơ bảo mật từ mã độc VBA Macro
VBA Macro có khả năng thực thi lệnh tự động nên kẻ xấu có thể lợi dụng để phát tán phần mềm độc hại hoặc ransomware. Microsoft vì thế áp dụng cơ chế chặn Macro đối với nhiều file Office có nguồn gốc từ Internet.

Rủi ro không nằm ở định dạng XLSM đơn thuần mà nằm ở đoạn mã được nhúng bên trong. Một workbook phục vụ nội bộ và được kiểm soát nguồn có thể hữu ích, trong khi tệp không rõ người gửi nên được xem xét trước khi cho phép mã chạy.
Quy trình 5 bước quét virus và kiểm tra code VBA
Quy trình dưới đây áp dụng cho Windows 10/11 và Excel desktop. Excel cho web không hỗ trợ tạo, chạy hoặc chỉnh sửa macro VBA. Trước khi cho phép Macro chạy, người dùng nên quét tệp, xác minh nguồn, kiểm tra cấu hình bảo mật và rà soát mã VBA để hạn chế nguy cơ mã độc thực thi ngoài ý muốn.
1. Quét tệp XLSM trước khi mở
- Trong File Explorer, nhấp chuột phải vào tệp XLSM rồi chọn Scan with Microsoft Defender. Trên Windows 11, bạn có thể cần chọn Show more options > Scan with Microsoft Defender. Nếu máy đang dùng phần mềm bảo mật khác làm trình chống virus chính, hãy sử dụng chức năng quét tệp tương ứng (quét với 360 total security,...).
- Kết quả sẽ hiển thị ngay khi quá trình quét kết thúc. Không mở tệp, chuyển tệp vào Trusted Location hoặc bỏ chặn tệp trước khi hoàn tất bước kiểm tra ban đầu.
2. Xác minh nguồn và tạo bản sao tệp
- Nhấp chuột phải vào tệp > Properties để kiểm tra thêm thông tin tệp. Nếu tải từ Internet, kiểm tra trang web hoặc liên kết nguồn tải xuống.
- Sau khi tệp đã được quét, nhấp chuột phải chọn Copy rồi Paste để tạo bản sao mà không cần mở tệp. Thực hiện các bước kiểm tra tiếp theo trên bản sao và giữ nguyên tệp gốc để đối chiếu khi cần.

3. Kiểm tra cấu hình Macro trước khi mở bản sao
- Click chuột chọn thẻ File (thực hiện trên ứng dụng Excel desktop riêng độc lập, chưa mở trực tiếp tệp .XLSM)
- Chọn mục Options.
- Nhấn vào Trust Center > chọn Trust Center Settings.
- Chọn mục Macro Settings và bảo đảm VBA macro đang ở chế độ vô hiệu hóa có cảnh báo hoặc chế độ chặt hơn.
- Kiểm tra Trusted Locations và không mở tệp từ thư mục được đánh dấu tin cậy, vì VBA trong các vị trí này có thể được phép chạy mà không dựa vào cảnh báo thông thường.

4. Mở Visual Basic Editor và kiểm tra toàn bộ VBAProject
- Đóng và mở lại file XLSM, nhấn Alt + F11, sau đó rà toàn bộ thành phần hiển thị trong VBAProject, gồm ThisWorkbook, các Sheet, Modules, Class Modules và UserForms nếu có.
- Kiểm tra các thành phần trong VBAProject, đặc biệt là ThisWorkbook và các Sheet, để rà soát những sự kiện có thể tự động thực thi như Workbook_Open, Worksheet_Activate, Worksheet_Change hoặc các thủ tục tự động khác.
- Chú ý những đoạn mã gọi chương trình bên ngoài, thao tác tệp, tạo đối tượng hệ thống hoặc kết nối mạng, chẳng hạn các lệnh liên quan đến Shell, CreateObject, WScript.Shell, PowerShell, cmd.exe, HTTP hoặc truy cập đường dẫn bên ngoài. Không coi tệp là đã được xác minh nếu VBAProject bị khóa, có thành phần không xem được hoặc còn đoạn mã chưa kiểm tra.
- Kiểm tra thêm Excel 4.0 Macro (XLM) nếu tệp có chứa macro dạng này. XLM có thể nằm trong các macro sheet và không xuất hiện như mã VBA trong VBAProject, vì vậy việc kiểm tra VBAProject không đủ để xác minh toàn bộ macro có thể thực thi. Rà soát các sheet có dấu hiệu là macro sheet và không cho phép XLM chạy nếu chưa xác định rõ nguồn gốc, mục đích và nội dung của chúng.
5. Chỉ cho phép Macro sau khi đã xác minh
- Nếu Excel hiển thị cảnh báo Macro thông thường kèm nút Enable Content, chỉ chọn nút này sau khi đã xác minh nguồn tệp và toàn bộ mã VBA cần chạy. Nếu Excel hiển thị Security Risk cho biết Macro từ Internet đã bị chặn, giao diện có thể không có nút Enable Content. Chỉ kết luận tệp đã được rà soát đầy đủ sau khi đã kiểm tra cả VBAProject và XLM/Excel 4.0 Macro (nếu có).

Lưu ý: Không thấy cảnh báo Macro không đồng nghĩa tệp không chứa mã VBA. Trusted Location, trạng thái Trusted Document, chữ ký từ nhà phát hành được tin cậy và chính sách của tổ chức có thể làm thay đổi cách Excel xử lý Macro.
Microsoft cho biết khi phần mềm chống virus tương thích Microsoft 365 đang hoạt động, workbook chứa Macro có thể được quét để phát hiện các mối đe dọa đã biết trước khi được mở. Việc quét không thay thế bước xác minh nguồn và rà soát mã VBA, vì công cụ bảo mật có thể không nhận diện được mọi mã đáng ngờ.
Hướng dẫn các cách mở file XLSM có chứa Macro
Microsoft Excel là lựa chọn phù hợp khi cần giữ và chạy VBA của tệp XLSM. LibreOffice Calc có thể mở định dạng này nhưng mức tương thích với VBA phụ thuộc mã được sử dụng, còn Google Sheets không phải môi trường chạy trực tiếp VBA của Excel.
Cách mở file XLSM bằng Excel trên Windows
Excel trên Windows hỗ trợ trực tiếp định dạng XLSM. Khi workbook chứa Macro, Excel có thể hiển thị cảnh báo bảo mật hoặc chặn mã nếu tệp được nhận diện là đến từ Internet.
- Bước 1: Mở Microsoft Excel trên máy tính Windows (tìm Excel trong tìm kiếm > nhấn Open).
- Bước 2: Chọn File.
- Bước 3: Chọn Open > chọn Browse.
- Bước 4: Chọn tệp .xlsm > nhấn Open để mở file.
Lưu ý: Kiểm tra nguồn tệp trước khi bật Macro và chỉ chọn cho phép nội dung khi đã xác minh. Chạy Macro cần thiết theo nút chức năng của workbook hoặc mục Macro trong Excel. Tùy thuộc vào phiên bản, giao diện và vị trí có thể được điều chỉnh.
Cách mở file XLSM bằng Excel trên macOS
Excel dành cho macOS cũng hỗ trợ định dạng XLSM và giữ mã VBA. Microsoft 365 trên Mac mặc định hiển thị cảnh báo khi người dùng mở tài liệu chứa Macro, giúp người dùng quyết định có cho phép mã chạy hay không.
- Bước 1: Mở Microsoft Excel trên máy Mac.
- Bước 2: Chọn File > nhấn Open.
- Bước 3: Chọn tệp .xlsm > nhấn Open để mở file.
- Bước 4: macOS Excel sẽ hiển thị thanh cảnh báo, chỉ nên chọn Enable Macros khi biết rõ nguồn gốc file.

Lưu ý: Mở Excel > Preferences > Security nếu cần kiểm tra thiết lập Macro. Cho phép Macro của workbook đã xác minh rồi sử dụng các chức năng tự động hóa trong file. Giao diện có thể thay đổi tùy theo phiên bản bạn đang dùng.
Cách mở file XLSM bằng LibreOffice Calc
LibreOffice có bộ lọc hỗ trợ định dạng XLSM nên Calc có thể mở workbook để xem và chỉnh sửa dữ liệu. Tuy nhiên, LibreOffice Basic và VBA dùng mô hình đối tượng khác nhau, vì vậy một số Macro Excel có thể cần chỉnh sửa trước khi hoạt động trong Calc.
- Bước 1: Mở LibreOffice Calc trên máy tính.
- Bước 2: Chọn File.
- Bước 3: Nhấn mục Open.
- Bước 4: Chọn tệp XLSM > nhấn Open.
Giữ Macro ở trạng thái tắt khi chưa xác minh nguồn và nội dung tệp. Đọc cảnh báo bảo mật Macro nếu LibreOffice phát hiện mã trong tài liệu. Kiểm tra chức năng VBA sau khi mở vì một số lệnh có thể không tương thích hoàn toàn với Calc. LibreOffice cũng cho phép thiết lập mức bảo mật Macro và nguồn đáng tin trong phần Security.
Mở file XLSM bằng Google Sheets
Google Sheets không phải môi trường thay thế trực tiếp cho VBA trong XLSM. Tài liệu Google cho biết Macro của Sheets sử dụng Google Apps Script và Macro Excel cần được viết lại bằng Apps Script nếu muốn chuyển chức năng tự động hóa sang Sheets.
Google Sheets có thể mở file XLSM để xem dữ liệu, nhưng toàn bộ mã lệnh VBA (Macro) sẽ bị vô hiệu hóa và không thể hoạt động.
- Bước 1: Mở Google Drive.
- Bước 2: Kéo thả tệp XLSM lên Google Drive bằng tài khoản Google.
- Bước 3: Nhấn vào ba chấm > chọn Open with > chọn Google Trang tính để mở tệp.

Google Drive có thể lưu nhiều loại tệp, nhưng tài liệu hỗ trợ xem trước phổ biến của Google liệt kê Excel ở định dạng XLS và XLSX. Vì vậy, không nên dùng Google Sheets nếu mục tiêu là giữ nguyên VBA trong tệp XLSM.
Cách sử dụng file XLSM chi tiết từng bước
Sau khi file XLSM đã được mở và kiểm tra an toàn, người dùng có thể tiếp tục làm việc với dữ liệu và chạy chức năng tự động hóa có trong workbook. Không cần thay đổi Trusted Locations hoặc bật toàn bộ VBA Macro để sử dụng tệp.
1. Kiểm tra nội dung và chức năng của workbook
- Xem các sheet, bảng dữ liệu, ô nhập liệu và nút chức năng có trong file. Không chạy những Macro có chức năng chưa xác định rõ.
2. Nhập hoặc chỉnh sửa dữ liệu cần xử lý
- Điền dữ liệu vào các vùng được thiết kế cho người dùng nhập liệu.
- Kiểm tra công thức, phạm vi dữ liệu và các giá trị cần thiết trước khi chạy chức năng tự động.
- Nếu chỉ cần xem hoặc chỉnh sửa dữ liệu, người dùng có thể tiếp tục để Macro ở trạng thái tắt. Microsoft cho biết không cần bật Macro để xem hoặc chỉnh sửa tài liệu.
3. Chạy Macro cần sử dụng sau khi đã xác minh
- Nếu workbook có nút được gán Macro, chọn đúng nút chức năng theo hướng dẫn của tệp. Nếu cần chạy thủ công, mở tab Developer > Macros, chọn Macro cần dùng rồi nhấn Run. Excel cũng có thể chạy Macro thông qua phím tắt hoặc một đối tượng đã được gán Macro (tham khảo cách bật Developer ở nội dung sau). Nếu Excel đang chặn Macro, không chuyển sang Enable VBA macros toàn cục. Hãy xác định nguyên nhân theo mục sửa lỗi bên dưới.

Lưu ý: Giao diện, tên nút hoặc cách Macro được gán có thể khác nhau giữa các workbook và phiên bản Excel.
Cách tạo và lưu file XLSM mới
Để tạo file XLSM, người dùng có thể bắt đầu bằng một workbook Excel thông thường, tạo Macro bằng công cụ có sẵn rồi lưu workbook ở định dạng hỗ trợ VBA. Developer là nơi chứa các công cụ ghi, chỉnh sửa và chạy Macro trong Excel.
1. Tạo workbook và chuẩn bị dữ liệu
- Mở một workbook Excel mới và tạo dữ liệu, công thức cần sử dụng.

2. Hiển thị tab Developer và tạo Macro
- Trên macOS, bấm vào Excel > Chọn Preferences... (Trên Windows, vào File > Options > Customize Ribbon, sau đó đánh dấu Developer).
- Tìm và nhấp vào mục Ribbon & Toolbar.
- Ở cột Customize the Ribbon, đánh dấu tích vào ô Developer > Nhấn Save.
- Nhấn Developer > tạo Macro thông qua Record Macro hoặc Visual Basic Editor.
3. Lưu file XLSM
- Chọn File > nhấn Save As.
- Chọn Excel Macro-Enabled Workbook (*.xlsm) > nhấn Save (có thể đổi tên file tùy nhu cầu).
Lưu ý: Giao diện và vị trí các tùy chọn có thể thay đổi tùy phiên bản Excel và hệ điều hành.
Hướng dẫn cách sửa lỗi không chạy được Macro trong file XLSM
Macro không chạy có thể do cài đặt bảo mật hoặc do chính sách của doanh nghiệp. Không nên xử lý bằng cách bật toàn bộ Macro cho mọi workbook vì Microsoft cảnh báo lựa chọn này có thể làm máy tính dễ bị mã nguy hiểm tấn công. Dưới đây là cách sửa lỗi áp dụng cho Windows.
1. Unblock File
- Chuột phải vào file xlsm chọn Properties.
- Chọn Unblock > Ok (chỉ thực hiện Unblock khi file đáng tin cậy và Windows hiển thị tùy chọn này).

2. Mở khóa Macro (chỉ chọn cho phép nội dung khi đã xác minh)
- Mở file Excel chọn Enable Editing (nếu có).
- Nhấn thử vào nội dung, nếu vẫn còn lỗi tiếp thì nhấn OK > chọn File.
- Chọn vào Options.
- Chọn thẻ Trust Center > nhấn vào Trust Center Settings...
- Nhấn mục Macro Settings > giữ chế độ Disable VBA macros with notification để Macro mặc định bị vô hiệu hóa > nhấn OK.
- Xác nhận OK.

3. Mở lại file
- Nhấn dấu X để đóng file.
- Click chuột vào file để mở lại file XLSM.

Nếu xuất hiện thanh cảnh báo bảo mật, kiểm tra lại nguồn file rồi chọn Enable Content để cho phép Macro của file đó chạy. Trường hợp Macro bị chặn bởi chính sách của doanh nghiệp hoặc trường học, một số tùy chọn bảo mật không thể thay đổi, bị làm mờ hoặc Macro tiếp tục bị chặn dù người dùng đã kiểm tra file. Trong trường hợp đó, Microsoft khuyến nghị liên hệ bộ phận CNTT thay vì cố thay đổi cấu hình bảo mật.
Cách chuyển đổi file XLSM sang XLSX và định dạng khác
Bạn có thể chuyển XLSM sang XLSX bằng chức năng Save As của Excel, nhưng mã VBA sẽ không được lưu trong file XLSX mới. Microsoft cũng cảnh báo việc chuyển workbook có Macro sang định dạng thông thường có thể làm mất chức năng tự động hóa.
- Bước 1: Mở tệp XLSM trong Excel và tạo bản sao dự phòng trước khi chuyển đổi.
- Bước 2: Chọn File > Save As rồi mở danh sách định dạng tệp.
- Bước 3: Chọn .xlsx hoặc định dạng cần dùng như XLSB, XLS hay PDF tùy mục đích > nhấn Save.

Nếu còn cần Macro, hãy giữ lại bản XLSM gốc. Với file chỉ dùng để đọc dữ liệu hoặc chia sẻ mà không cần tự động hóa, XLSX thường dễ tương thích với nhiều công cụ bảng tính hơn.
Như vậy, hiểu rõ file XLSM là gì giúp bạn lựa chọn đúng định dạng khi làm việc với Excel có Macro và VBA. Khi nhận workbook từ bên ngoài, hãy ưu tiên kiểm tra nguồn, quét bảo mật và chỉ kích hoạt mã sau khi đã xác minh chức năng của tệp.
- Xem thêm: Wiki - Thuật ngữ






Bình luận (0)