Di chuyển tệp bằng VBA FileSystemObject (MoveFile)

Hướng dẫn này sẽ trình bày cách sử dụng phương thức MoveFile của FileSystemObject.

Di chuyển tệp bằng VBA FileSystemObject

Phương thức MoveFile di chuyển một hoặc nhiều tệp từ vị trí này sang vị trí khác.

Đặt tham chiếu VBA

Đầu tiên, khi sử dụng FileSystemObjects, bạn có thể phải đặt tham chiếu đến thư viện thời gian chạy tập lệnh VB: mở Visual Basic Editor (ALT + F11), chọn Công cụ> Tham chiếu từ trình đơn thả xuống và đánh dấu vào hộp kiểm 'Microsoft Scripting Runtime'.

FileSystemObject

Thứ hai, bạn phải tạo FileSystemObject:

12 Làm mờ FSO dưới dạng FileSystemObject mớiĐặt FSO = CreateObject ("Scripting.FileSystemObject")

Bây giờ bạn có quyền truy cập vào MoveFile và các Phương thức FileSystemObject khác.

Lập trình VBA | Code Generator làm việc cho bạn!

Di chuyển một tệp

Để di chuyển một tệp, bạn có thể sử dụng cú pháp đơn giản của FSO.MoveFile (nguồn, đích).

1 FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"

Như đã đề cập ở trên, trước tiên bạn cần tạo FileSystemObject:

1234567 Sub FSOMoveFile ()Làm mờ FSO dưới dạng FileSystemObject mớiĐặt FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Kết thúc Sub

Di chuyển nhiều tệp

Bạn có thể di chuyển nhiều tệp có các phần giống nhau:

1 FSO.MoveFile "C: \ Src \ TestFile * .txt", "C: \ Dst \"

Hoặc bạn có thể di chuyển nhiều tệp có cùng một phần mở rộng:

1 FSO.MoveFile "C: \ Src \ * .xlsx", "C: \ Dst \"

Hoặc đơn giản là tất cả các tệp từ một thư mục:

1 FSO.MoveFile "C: \ Src \ *", "C: \ Dst \"

Lưu ý, ở đây chúng tôi sử dụng ký tự đại diện *.

Thay vì sử dụng ký tự đại diện *, bạn có thể di chuyển tất cả các tệp trong một thư mục bằng vòng lặp Cho Mỗi.

12345678910111213141516 Sub FSOMoveAllFiles ()Làm mờ FSO dưới dạng FileSystemObject mớiDim FromPath As StringLàm mờ đường dẫn đến dưới dạng chuỗiDim FileInFromFolder As ObjectFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Đặt FSO = CreateObject ("Scripting.FileSystemObject")Đối với mỗi FileInFromFolder Trong FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathFileInFromFolder tiếp theoKết thúc Sub

Di chuyển tệp sang thư mục mới

Bạn cũng có thể di chuyển (các) tệp vào một thư mục mới được tạo. Để làm như vậy, hãy thêm lệnh

1 MkDir "C: \ Dst \"

trước khi khai báo đường dẫn đích.

1234567891011121314151617 Sub FSOMoveAllFiles ()Làm mờ FSO dưới dạng FileSystemObject mớiDim FromPath As StringLàm mờ đường dẫn đến dưới dạng chuỗiDim FileInFromFolder As ObjectFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Đặt FSO = CreateObject ("Scripting.FileSystemObject")Đối với mỗi FileInFromFolder Trong FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathFileInFromFolder tiếp theoKết thúc Sub

Bạn mệt mỏi với việc tìm kiếm ví dụ về mã VBA? Hãy thử AutoMacro!

Di chuyển thư mục

Bạn có thể sử dụng phương pháp tương tự MoveFolder để di chuyển các thư mục.

1234567 Sub FSOMoveFolder ()Làm mờ FSO dưới dạng FileSystemObject mớiĐặt FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Kết thúc Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave