Hàm GetAttr VBA

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”

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