VBA GetFolder & GetFile (Lấy thuộc tính tệp & thư mục)

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

Nhận thuộc tính thư mục và tệp với VBA FileSystemObject

Phương thức GetFolder trả về một đối tượng Thư mục tương ứng với thư mục trong một đường dẫn được chỉ định và cho phép bạn truy cập các thuộc tính của nó. Phương thức GetFile thực hiện tương tự với tệp được chỉ định.

Đặ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 GetFolder và các Phương thức FileSystemObject khác.

Sử dụng phương pháp GetFolder

Sau khi chỉ định thư mục bạn muốn truy cập

1 Đặt fld = FSO.GetFolder ("C: \ Src \")

bạn có thể sao chép nó:

1 fld.Copy "C: \ NewFolder \"

di chuyển nó:

1 fld.Move "C: \ NewFolder \"

xóa đi:

1 fld.Delete

hoặc tạo một tệp văn bản mới trong đó:

1 fld.CreateTextFile “NewTextFile.txt"

Bằng cách sử dụng phương pháp này, bạn có quyền truy cập vào các thuộc tính của thư mục như thuộc tính của nó (fld.Attributes), ngày và giờ khi nó được tạo (fld.DateCreate), truy cập lần cuối (fld.DateLastAccessed), sửa đổi lần cuối (fld.DateLastModified ), ký tự ổ đĩa của nó (fld.Drive), tên và tên viết tắt của nó (fld.Name, fld.ShortName), đường dẫn và đường dẫn ngắn (fld.Path, fld.ShortPath), kích thước (fld.Size), gõ (fld.Type), thư mục mẹ của nó (fld.ParentFolder), kiểm tra xem nó có phải là thư mục gốc (fld.IsRootFolder) hay bạn có thể lặp qua, đếm, v.v. các tệp của nó (fld.Files) hoặc thư mục con (fld. Thư mục con).

Đặt tất cả những điều này lại với nhau trong một quy trình sẽ trông như thế này:

123456789101112131415161718192021222324 FSOGetFolder phụ ()Làm mờ FSO dưới dạng FileSystemObject mớiĐặt FSO = CreateObject ("Scripting.FileSystemObject")Đặt fld = FSO.GetFolder ("C: \ Src \")Debug.Print fld.DateCreateDebug.Print fld.DriveDebug.Print fld.NameDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.ShortPathDebug.Print fld.SizeDebug.Print fld.Files.CountDebug.Print fld.TypeĐối với từng phần trong fld.SubFoldersDebug.Print gấp.NameGấp tiếp theoĐối với từng fil Trong fld.FilesDebug.Print fil.NameFil tiếp theoKết thúc Sub

Xin lưu ý rằng bạn sẽ nhấn Ctrl + G để xem kết quả của lệnh Debug.Print trong cửa sổ VBA ngay lập tức.

Phương thức GetParentFolderName

Ngoài cách được đề cập ở trên, bạn có thể truy cập vào tên thư mục mẹ của thư mục bằng cách sử dụng mã sau:

1234 Làm mờ FSO dưới dạng FileSystemObject mớiĐặt FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

Trong trường hợp này, ParentFold sẽ là “C: \ ParentTest \”.

Xin lưu ý rằng phương pháp này sẽ không giải quyết đường dẫn, cũng như không kiểm tra sự tồn tại của đường dẫn được chỉ định.

Phương thức GetSpecialFolder

Với phương thức GetSpecialFolder, bằng cách chuyển 0, 1 hoặc 2 làm đối số, bạn có thể lấy đường dẫn thư mục Windows (với các tệp được cài đặt bởi hệ điều hành Windows), đường dẫn thư mục hệ thống của bạn (với thư viện, phông chữ và trình điều khiển thiết bị) và tạm thời đường dẫn thư mục (thư mục được sử dụng để lưu trữ các tệp tạm thời), tương ứng.

1234567 Sub FSOGetSpecialFolder ()Làm mờ FSO dưới dạng FileSystemObject mớiĐặt FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) ‘Kết quả có thể là: C: \ Windows \ System32Kết thúc Sub

Phương thức GetFile

Bạn có thể sử dụng phương thức GetFile theo cách tương tự như phương thức GetFolder. Sau khi chỉ định tệp bạn muốn truy cập

1 Đặt fil = FSO.GetFile ("C: \ Src \ Test.xlsx")

bạn có thể sao chép nó:

1 fil.Copy "C: \ Dst \"

di chuyển nó:

1 fil.Move "C: \ Dst \"

xóa đi:

1 fil.Delete

hoặc mở nó dưới dạng đối tượng TextStream:

1 fil.OpenAsTextStream

Các thuộc tính của tệp như thuộc tính, ngày và giờ khi nó được tạo, truy cập lần cuối hoặc sửa đổi lần cuối, ký tự ổ đĩa, tên và tên viết tắt, đường dẫn và đường dẫn ngắn, kích thước, loại và thư mục mẹ của nó có thể được truy cập theo cùng một cách như được mô tả tại phương pháp GetFolder.

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