Trong bài viết trước Taimienphi.vn đã giới thiệu cho bạn về hàm TRIM trong Excel VBA. Bài viết dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn hàm DIR trong VBA.
Mục Lục bài viết:
Hàm DIR trong VBA được sử dụng để lấy tên file hoặc thư mục, sử dụng tên đường dẫn của các file hoặc thư mục này.
Cho ví dụ, giả sử nếu một thư mục lưu trữ một file Excel nào đó, chúng ta có thể sử dụng hàm DIR VBA để lất tên của file Excel đó (hoặc tên loại file bất kỳ).
Ngoài ra trong trường hợp nếu muốn lấy tên tất cả các file Excel trong thư mục (hoặc tất cả các file không phải là file Excel), chúng ta cũng có thể sử dụng hàm DIR.
Nếu sử dụng hàm DIR một lần, hàm sẽ trả về tên file đầu tiên trong thư mục. Để lấy tên file của các file khác, chúng ta có thể sử dụng lại DIR để thực hiện điều này.
DIR trả về tên file đầu tiên khớp với tên đường dẫn. Để lấy tên file bổ sung bất kỳ khớp với tên đường dẫn, chúng ta chỉ cần gọi lại DIR mà không có đối số. Khi không có tên file nào khớp, DIR sẽ trả về chuỗi có độ dài bằng 0 ("").
Cú pháp hàm DIR trong VBA có dạng:
Dir [ (tên đường dẫn [ ,thuộc tính ] ) ]
Trong đó:
- Tên đường dẫn (pathname): là đối số tùy chọn, nó có thể là tên file hoặc tên thư mục. Nếu không tìm thấy tên đường dẫn, hàm DIR trong VBA sẽ trả về chuỗi có độ dài bằng 0 ("").
- Thuộc tính (attributes): là đối số tùy chọn, chúng ta có thể sử dụng đối số này để chỉ định một số thuộc tính, hàm DIR sẽ trả về tên file dựa trên các thuộc tính đó.
Cho ví dụ, nếu muốn liệt kê danh sách các file ẩn hoặc các file chỉ đọc (cùng với các file không có thuộc tính), bạn chỉ cần chỉ định trong đối số này.
Dưới đây là danh sách các thuộc tính có sẵn để sử dụng trong hàm DIR trong VBA (chúng ta có thể sử dụng một hoặc nhiều các thuộc tính này):
Hằng Giá trị Mô tả
vbNormal 0 (Mặc định) chỉ định file không có thuộc tính.
vbReadOnly 1 Chỉ định các file chỉ đọc cùng các file không có thuộc tính.
vbHidden 2 Chỉ định các file ẩn cùng các file không có thuộc tính.
VbSystem 4 Chỉ định các file hệ thống cùng các file không có thuộc tính. Không có sẵn trên Mac OS X.
vbVolume 8 Chỉ định tên phân vùng, nếu có các thuộc tính khác được chỉ định, vbVolume sẽ bị bỏ qua. Không có sẵn trên Mac OS X.
vbDirectory 16 Chỉ định các thư mục hoặc các thư mục cùng các file không có thuộc tính.
vbAlias 64 Chỉ định tên file là bí danh. Chỉ có sẵn trên Mac OS X.
Nếu đang sử dụng Windows, bạn cũng có thể sử các ký tự đại diện trong hàm DIR.
Lưu ý: Không thể sử dụng các ký tự này cùng hàm VBA trên Mac OS X.
Việc sử dụng các ký tự đại diện có thể hữu ích trong một số trường hợp:
- Chúng ta muốn lấy tên file của một loại file cụ thể (chẳng hạn như .XLSX hoặc .PPTX).
- Khi có một hậu tố / tiền tố cụ thể trong tên file và bạn muốn lấy tên của các file / thư mục này. Chẳng hạn, nếu muốn lấy tên của tất cả các file có tiền tố 2019 , chúng ta có thể sử dụng các ký tự đại diện để làm được điều này.
Có 3 ký tự đại diện trong Excel, bao gồm:
1. * (dấu hoa thị): Đại diện cho số lượng ký tự bất kỳ. Chẳng hạn 2019* cung cấp cho bạn tên tất cả các file có tiền tố 2019.
2. ? (dấu hỏi): Đại diện cho một ký tự duy nhất. Ví dụ, 2019? cung cấp cho bạn tên tất cả các file bắt đầu bằng 2019 có thêm một ký tự khác trong tên, chẳng hạn như 2019A, 2019B, ... .
3. - (dấu ngã): Ký tự đại diện này ít được sử dụng nên Taimienphi.vn sẽ bỏ qua, không đi sâu vào giới thiệu cụ thể.
Bài viết Hàm DIR trong VBA (Phần 1) trên đây Taimienphi.vn vừa giới thiệu cho bạn cách sử dụng cũng như cú pháp hàm DIR trong VBA, đón đọc bào viết về Hàm DIR trong VBA phần 2 để có những tìm hiểu kỹ hơn về loại hàm đặc biệt này. Nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết nhé.