Trong bài đăng này, bạn sẽ tìm hiểu cách đổi tên Tệp trong Excel VBA bằng lệnh Name
Đổi tên tệp trong Excel VBA
Trong Excel VBA, để đổi tên một tệp hiện có, bạn có thể sử dụng Lệnh Tên
Để đổi tên tệp bằng lệnh Name,
- Trước tiên, bạn cần xác định vị trí tệp trong thư mục cục bộ
- Sao chép địa chỉ vị trí của tệp
"C. \Excel VBA\Excel VBA 2. xlsx”
Nhập mã sau vào trình chỉnh sửa Visual Basics,
Mã số
Name "C:\Excel VBA\Excel VBA 2.xlsx" As "C:\Excel VBA\Renamed File.xlsx"
- Chạy mã
- Bây giờ hãy vào thư mục, bạn có thể thấy tên tệp đã thay đổi.
bài viết liên quan
Xin chào Alluvian,
Cảm ơn về mẹo, tuy nhiên một điều tôi muốn làm là hiển thị lời nhắc yêu cầu người dùng chọn tệp mà họ muốn đổi tên. Vì vậy, nếu người đó đã lưu một tệp có tên "Fluid", tôi muốn macro đổi tên tệp "Fluid" thành "Fluid_Out", vì vậy hãy đặt tên được chỉ định trước cho tệp đang được đổi tên. Tôi có một ý tưởng, tôi đã đính kèm mã vào trang này. Tôi nghĩ mã này nên được nhúng hoặc tích hợp với chức năng "Đổi tên tệp". Hãy cho tôi biết những gì các bạn nghĩ xin vui lòng. Cảm ơn rất nhiều
Phụ GetImportFileName()
Bộ lọc mờ dưới dạng chuỗi
Dim Filter Index dưới dạng số nguyên
Làm mờ tiêu đề dưới dạng chuỗi
Tên tệp mờ dưới dạng biến thể
'Thiết lập danh sách bộ lọc tập tin
Lọc = "Tất cả tệp (*. *),*. *"
'Trưng bày *. * theo mặc định
Bộ lọc Index = 1
'Đặt tiêu đề hộp thoại
Title = "Chọn tệp để đổi tên và nhập"
'Lấy tên tập tin
Tên tệp = Ứng dụng. GetOpenFilename _
(Bộ lọc tệp. =Lọc, _
Bộ lọc Index. =Filter Index, _
Tiêu đề. =Tiêu đề)
'Thoát nếu hộp thoại bị hủy
Nếu Tên tệp = Sai thì
MsgBox "Không có tệp nào được chọn. "
Thoát phụ
kết thúc nếu
'Hiển thị đường dẫn đầy đủ và tên của tập tin
MsgBox "Bạn đã chọn" & Tên tệp
kết thúc phụ
Tuy nhiên, tệp đổi tên vba này là một trong số ít các chức năng tồn tại bên ngoài đối tượng 'VBA' và nó có thể được sử dụng trực tiếp như được đề cập bên dưới
- Tên chức năng. Đặt tên hoặc Di chuyển FSO
- cú pháp. Đặt tên [OldName] thành [NewName]
Đây là một ví dụ mã VBA cho biết cách thay đổi tên của tệp
Excel VBA Đổi tên tệp mà không cần mở tệp
Từ bất kỳ sổ làm việc Excel nào, nhấn Alt F11 để xem trình soạn thảo VB
Sau đó sao chép, dán mã bên dưới và thay đổi tên tệp ví dụ thành tệp tồn tại trong máy tính của bạn
Sub ExcelVBARenameFileName() Dim sExistingFileName As String Dim sRenamedTo As String 'File to be renamed sExistingFileName = "D:\Filename1.txt" 'New Name for the file sRenamedTo = "D:\Filename2.txt" 'VBA command to Rename file Name sExistingFileName As sRenamedTo End SubBạn không thể chạy mã này hai lần. Vì file cũ sẽ không tồn tại sau lần chạy đầu tiên
Mã này sẽ báo lỗi nếu không tìm thấy tệp nguồn trong đường dẫn. Vì vậy, tốt hơn là có VBA. Lệnh Dir để kiểm tra file có tồn tại không, sau đó thực hiện thao tác đổi tên
Vì vậy, nhấn F5 một lần duy nhất để kiểm tra mã này
Excel VBA Đổi tên tệp – FSO
Đây là một mã khác trong VBA đổi tên tệp, nhưng ở đây nó sử dụng đối tượng hệ thống tệp. Nhìn chung, cả hai mã đều thực hiện cùng một công việc
Sub Rename_File() ' Follow this step to use FSO ' Tools -> Add Reference to "Microsoft Scripting Runtime" Dim fso As FileSystemObject Set fso = New FileSystemObject fso.MoveFile "D:\Filename1.txt", "D:\Filename1_Renamed.txt" ' Delete old file if exits On Error Resume Next Kill "D:\Filename1.txt" On Error GoTo 0 End SubBạn cũng có thể thêm mã dự phòng để xóa tệp cũ trong trường hợp mã trên tạo 2 bản sao của cùng một tệp
Bạn cũng có thể nâng cao mã vba này để di chuyển hoặc đổi tên từng tệp từ một thư mục. Cách này dễ làm tự động hơn là làm thủ công từng cái một
Điều kiện lỗi khi thay đổi tên tệp
Trước khi thay đổi tên tệp, Bạn cũng có thể thêm điều kiện để kiểm tra xem tệp cũ có tồn tại không. Ngoài ra, hãy kiểm tra xem tên tệp mới đã tồn tại chưa
Tham khảo bên ngoài. Đây là một cuộc thảo luận liên quan đến đổi tên tệp bằng Excel vba
Nếu tệp mới đã tồn tại thì bước đổi tên sẽ thất bại. Trong trường hợp đó, việc sử dụng có thể được gợi ý bằng thông điệp thích hợp
Khi lệnh được thực thi tốt, Bạn có thể vào thư mục và xác minh rằng tệp cũ không tồn tại
Giải pháp thay thế để đổi tên tệp trong Vba
Nếu điều này không hiệu quả, Bạn có thể viết một đoạn mã sẽ đọc nội dung tệp và ghi nó vào một tệp mới