Với yêu cầu chuyển hàng loạt các file .xls sang .xlsxnày thì sử dụng python sẽ hợp lý hơn VBA do python hoạt động từ ngoài, khác với VBA là embed in Excel. Nếu sử dụng Python, bạn có thể sử dụng thư viện openpyxl và pandas. Dưới đây là mã ví dụ để thực hiện việc này.
import os
import pandas as pd
def convert_xls_to_xlsx(folder_path):
# Lặp qua tất cả các file trong thư mục
for filename in os.listdir(folder_path):
# Kiểm tra nếu file có định dạng .xls
if filename.endswith(".xls"):
file_path = os.path.join(folder_path, filename)
# Đọc file .xls bằng pandas
xls = pd.ExcelFile(file_path)
# Lưu mỗi sheet sang định dạng .xlsx
for sheet_name in xls.sheet_names:
df = pd.read_excel(file_path, sheet_name=sheet_name)
new_file_name = filename.replace(".xls", f"_{sheet_name}.xlsx")
new_file_path = os.path.join(folder_path, new_file_name)
# Ghi lại sheet vào file mới định dạng .xlsx
df.to_excel(new_file_path, index=False)
print(f"Đã chuyển {filename} (Sheet: {sheet_name}) sang {new_file_name}")
# Sử dụng hàm với đường dẫn thư mục chứa các file .xls
convert_xls_to_xlsx("path/to/your/folder")