Excel VBA: Lưu dưới dạng hoặc sao chép dưới dạng với tên tệp mới (lần nữa)

Excel VBA: Lưu dưới dạng hoặc sao chép dưới dạng với tên tệp mới (lần nữa) Tôi đã từng nhận được sự trợ giúp về chủ đề này trước đây nhưng vẫn chưa thể triển khai thành công giải pháp.

Tôi muốn cung cấp cho người dùng một mẫu Excel (do tôi tạo) và cho phép họ kích hoạt một nút liên kết macro để lưu bảng tính với một tên khác, sau khi nhập tên của riêng họ. Một công thức trong bảng tính đang hoạt động sẽ chuyển đổi tên thành định dạng chuẩn trong ô X27 mà không có phần mở rộng xlsm. Tôi đã thử cả hai phương pháp SaveAs và SaveCopyAs nhưng mã bị treo ở điểm này với lỗi "do ứng dụng hoặc đối tượng định nghĩa" (1004). Tôi đã lấy đoạn mã sau từ một câu trả lời của cộng đồng năm 2020 cho một người dùng khác:

Sub save_file()
Khai báo path, filename1 là String
path = ThisWorkbook.Path & "\" 'Cùng đường dẫn với dự án hiện tại mà Người dùng đã mở.
filename1 = Range("X27").Text
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs FileName:=path & filename1 & ".xlsm" 'macro dừng tại đây
Application.DisplayAlerts = True
End Sub

Tôi đã viết đoạn mã này trong cửa sổ mã "ThisWorkbook". Tôi đã thử các cách tiếp cận khác để định nghĩa tên đường dẫn. Tôi đã thử chỉ sử dụng tên tệp mà không có đường dẫn, giả định rằng người dùng muốn lưu tệp ở cùng vị trí với mẫu. Tôi đã thử với các biến thể là path và filename1.

Tôi rất mong nhận được sự giúp đỡ. Tôi đang sử dụng Windows 11. Tôi cũng muốn tìm giải pháp cho Mac OS nhưng có vẻ như điều đó là không thể.


Comments

Popular posts from this blog

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ