Mô tả GetAttr
Trả về một số nguyên đại diện cho các thuộc tính của tệp, thư mục hoặc thư mục.
Ví dụ GetAttr đơn giản
12 | MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt") |
Thao tác này sẽ trả về một số số nguyên theo cài đặt của tệp / thư mục / ổ đĩa.
Nếu tên đường dẫn không tồn tại, nó sẽ xảy ra lỗi Thời gian chạy '53': Không tìm thấy tệp.
Cú pháp GetAttr
Trong VBA Editor, bạn có thể nhập “GetAttr (” để xem cú pháp của Hàm GetAttr:
Hàm GetAttr chứa một đối số:
PathName: Một biểu thức chuỗi đại diện cho một tệp / thư mục / ổ đĩa.
Trả lại giá trị
Giá trị được trả về bởiGetAttr là tổng các giá trị thuộc tính sau:
Hằng số | Giá trị | Sự miêu tả |
---|---|---|
vbNormal | 0 | Bình thường. |
vbReadOnly | 1 | Chỉ đọc. |
vbHidden | 2 | Ẩn giấu. |
vbSystem | 4 | Tệp hệ thống. Không khả dụng trên Macintosh. |
vbDirectory | 16 | Thư mục hoặc thư mục. |
vbArchive | 32 | Tệp đã thay đổi kể từ lần sao lưu cuối cùng. Không khả dụng trên Macintosh. |
vbAlias | 64 | Tên tệp được chỉ định là một bí danh. Chỉ có trên Macintosh. |
Ví dụ về Hàm GetAttr trong Excel VBA
1 | MsgBox GetAttr ("C: \ Program Files (x86)") |
1 | MsgBox GetAttr ("C: \") |
Trong khi thử nghiệm với nhiều thư mục / tệp / ổ đĩa khác nhau, nó sẽ trả về các số khác nhau như 1, 2, 5, 22, v.v.
Ví dụ, trong trường hợp 22, nó có nghĩa là vbDirectory (16) + vbSystem (4) + vbHidden (2).
Để có được các cài đặt thuộc tính tương ứng với từng số, bạn có thể sử dụng chức năng sau.
12345678910111213 | Hàm GetAttributeSettings (attr As VbFileAttribute) As StringDim strSettings As StringstrSettings = ""If (attr And vbDirectory) = vbDirectory Then strSettings = strSettings & "& Directory"If (attr And vbVolume) = vbVolume Then strSettings = strSettings & "& Volumn"If (attr And vbAlias) = vbAlias Then strSettings = strSettings & "& Alias"If (attr And vbArchive) = vbArchive Then strSettings = strSettings & "& Archive"If (attr And vbHidden) = vbHidden Then strSettings = strSettings & "& Hidden"If (attr And vbReadOnly) = vbReadOnly Then strSettings = strSettings & "& ReadOnly"If (attr And vbSystem) = vbSystem Then strSettings = strSettings & "& System"GetAttributeSettings = Mid (strSettings, 2)Chức năng kết thúc |
1 | MsgBox GetAttributeSettings (22) |
Kết quả: “Thư mục & Ẩn & Hệ thống”