Folder Object

tuhocvba

Administrator
Thành viên BQT
Thuộc tính:
  • Attributes : Thiết định thuộc tính cho Folder
  • DateCreated : Ngày mà folder được tạo ra
  • DateLastAccessed : Ngày gần đây nhất mà folder được truy cập
  • DateLastModified : Ngày gần đây nhất mà folder được cập nhật
  • Drive : Trả về tên ổ đĩa chứa folder
  • Files: Trả về tất cả các file mà folder chứa. Xem thêm .
  • IsRootFolder : Folder được chỉ định có phải là thư mục gốc hay không.
  • Name : Thiết định tên folder, hoặc lấy tên folder.
  • ParentFolder : Trả về tên thư mục mẹ chứa folder được chỉ định
  • Path : Trả về tên đường dẫn của thư mục.
  • ShortName : Trả về tên thư mục theo kiểu 8.3
  • ShortPath : Trả về đường dẫn thư mục theo kiểu 8.3
  • Size : Trả về dung lượng của thư mục
  • SubFolders : Trả về tất cả các folder mà thư mục chỉ định chứa chúng.
  • Type : Trả về kiểu của folder

Phương thức:
  • Copy: Copy folder
  • CreateTextFile: Tạo file kiểu text (không nhất thiết phải là file txt, có thể là tạo ra file .c hoặc file .html, ...)
  • Delete: Xóa folder
  • Move: Di chuyển folder
Nguồn tham khảo và dịch:
 

giaiphapvba

Administrator
Thành viên BQT
Attributes
Cấu trúc:
Folder.Attributes
Giá trịÝ nghĩa
0​
File tiêu chuẩn
1​
Chế độ chỉ được đọc file (không cho ghi)
2​
Ẩn file
4​
File hệ thống
8​
Nhãn ổ đĩa (chỉ đọc, không cho thay đổi thuộc tính)
16​
Thư mục (chỉ đọc, không thay đổi thuộc tính)
32​
Lưu trữ tập tin
64​
Đường dẫn hoặc shortcut (chỉ đọc, không thay đổi thuộc tính
128​
Tệp tin nén (chỉ đọc, không thay đổi thuộc tính)
Khi ta đọc thông tin thuộc tính, hoặc thiết định giá trị thuộc tính, ta sẽ sử dụng cấu trúc này.
Ta ví dụ, chúng ta thiết định folder mà các tệp tin bị ẩn (2) và các tệp tin này chỉ được đọc mà không được ghi thông tin vào (1). Như vậy thuộc tính sẽ là 1 + 2 = 3.
Mã:
Sub test38()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''Thiết định thuoc tính Read only & Hide cho thư mục C:\Work
    If Not FSO.GetFolder("C:\Work").Attributes And (1 + 2) Then
        FSO.GetFolder("C:\Work").Attributes = 1 + 2
    End If
    Set FSO = Nothing
End Sub
Nguồn:
 

Euler

Biên Tập Viên
Có thể viết luôn là :
Mã:
FSO.GetFolder("C:\Work").Attributes = 3
Sau khi chạy xong thì thư mục có bị ẩn. Còn file thì vẫn thấy ghi bình thường, sau khi ghi xong máy tính còn hỏi có muốn lưu thay đổi không.
 

tuhocvba

Administrator
Thành viên BQT
DateCreated
Cấu trúc:
Folder.DateCreated
Thuộc tính này sẽ cho chúng ta biết ngày giờ mà folder được tạo ra.
Mã:
Sub test39()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''Ngày giờ mà folder C:\VBA được tạo ra
    MsgBox FSO.GetFolder("C:\VBA").DateCreated
    Set FSO = Nothing
End Sub
Nguồn:
 

Euler

Biên Tập Viên
Nếu chúng ta bịa ra một folder không tồn tại thì sẽ xảy ra lỗi.
Mã:
Sub test39()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''folder C:\VBA2 không có thật
    MsgBox FSO.GetFolder("C:\VBA2").DateCreated
    Set FSO = Nothing
End Sub
Bạn cần đăng nhập để thấy đính kèm
 

tuhocvba

Administrator
Thành viên BQT
DateLastAccessed
Cấu trúc:
Folder.DateLastAccessed
Thuộc tính này sẽ cho biết ngày giờ gần nhất mà folder được truy cập.
Mã:
Sub test40()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''C:\Work được truy cập gần nhất là khi nào
    MsgBox FSO.GetFolder("C:\Work").DateLastAccessed
    Set FSO = Nothing
End Sub
 

Euler

Biên Tập Viên
DateLastModified
Cấu trúc:
Folder.DateLastModified
Cấu trúc cho biết thời điểm gần đây nhất mà Folder được cập nhật nội dung.
Giá trị trả về dưới dạng chuỗi ký tự.
Mã:
Sub test41()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''Hiển thị ngày giờ mà thư mục C:\Work được cập nhật gần đây nhất
    MsgBox FSO.GetFolder("C:\Work").DateLastModified
    Set FSO = Nothing
End Sub
Nguồn:
 

Euler

Biên Tập Viên
Drive
Cấu trúc:
Folder.Drive
Nó sẽ cho biết đường dẫn này là của ổ đĩa nào.
Mã:
Sub test42()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''Tra ket qua la「D:」
    MsgBox FSO.GetFolder("D:\VBA").Drive
    Set FSO = Nothing
End Sub
Nếu đường dẫn không tồn tại, sẽ xảy ra .
 

tuhocvba

Administrator
Thành viên BQT
Files
Cấu trúc:
Folder.Files
Nó sẽ trả về số lượng file có trong thư mục.
Mã:
Sub test43()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''Hiển thị số lượng file có trong thư mục C:\Work
    MsgBox FSO.GetFolder("C:\Work").Files.Count
    Set FSO = Nothing
End Sub
Nếu đường dẫn không tồn tại, sẽ xảy ra .
 

Euler

Biên Tập Viên
IsRootFolder
Cấu trúc:
Folder.IsRootFolder
Nó sẽ trả kết quả là True nếu đó là thư mục gốc, là False nếu không phải là thư mục gốc. Nếu đường link không tồn tại sẽ xảy ra .
Ví dụ:
Mã:
Sub test44()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''Root Folder hay khong?
    If FSO.GetFolder("D:\").IsRootFolder Then
        MsgBox "Root Folder"
    Else
        MsgBox "Khong phai Root Folder"
    End If
    Set FSO = Nothing
End Sub
Nguồn:
 
Top