Đổi tên tệp trong VBA Excel

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

Đổi tên tệp trong VBA Excel

"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.  

Đổi tên tệp trong VBA Excel

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 Sub

Bạ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 Sub

Bạ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