Cách sử dụng hàm VBA DIR trong Excel (7 ví dụ thực tế)

  • Chia Sẻ Cái Này
Hugh West

Hàm DIR trong VBA chủ yếu hiển thị cho bạn thư mục hoặc các tệp từ một thư mục nhất định. Nó cũng có thể trả về tệp đầu tiên với chức năng này. Chức năng này có rất nhiều công dụng để lấy các tệp và thư mục cụ thể. Tất cả những gì bạn cần chỉ là chèn đường dẫn tệp vào tên đường dẫn của mã VBA . Bạn có thể thấy khó sử dụng mã VBA DIR hơn. Đừng lo lắng, trong bài viết này, chúng tôi sẽ chỉ cho bạn một số ví dụ để bạn hình dung rõ hơn về cách sử dụng hàm VBA DIR . Hy vọng bạn sẽ có thể sử dụng chức năng sau khi đọc bài viết. Vì vậy, hãy bắt đầu nào.

Tải xuống Sách bài tập thực hành

Tải xuống sách bài tập thực hành sau. Nó sẽ giúp bạn hiểu chủ đề tốt hơn.

Hàm DIR.xlsm

Giới thiệu về Hàm DIR

Tóm tắt:

Hàm VBA DIR trả về tên của tệp hoặc thư mục từ đường dẫn thư mục đã cho. Thông thường, nó trả về tệp đầu tiên.

Cú pháp:

Dir [ (pathname, [ attributes ] ) ]

Giải thích đối số:

Đối số Bắt buộc/Tùy chọn Giải thích
Tên đường dẫn Tùy chọn Đường dẫn để truy cập và chỉ định tệp
Thuộc tính Tùy chọn Biểu thức hằng số hoặc số chỉ định thuộc tính của các tệp phù hợp

Có một vàicác thuộc tính được xác định, chúng là-

Tên thuộc tính Mô tả
vbNormal Tệp không có thuộc tính cụ thể
vbReadOnly Tệp chỉ đọc không có thuộc tính
vbHidden Ẩn tệp không có thuộc tính
vbSystem Tệp hệ thống không có thuộc tính
vbVolume Nhãn âm lượng
vbDirectory Thư mục hoặc thư mục không có thuộc tính
vbAlias Tên tệp được chỉ định là bí danh

7 Ví dụ về Sử dụng Hàm VBA DIR trong Excel

Từ phần mô tả, bạn có thể hiểu rằng hàm VBA DIR cung cấp tên tệp từ tên đường dẫn được cung cấp. Hãy hiểu nó bằng ví dụ. Ở đây chúng tôi đã tạo một thư mục Exceldemy_Folder để hiển thị cho bạn các ví dụ khác nhau. Có nhiều thư mục và tệp nhỏ khác nhau trong thư mục này.

1. Tìm Tên tệp từ Đường dẫn

Trong thư mục của chúng tôi, chúng tôi có thể tìm thấy một tệp cụ thể bằng cách khai báo đường dẫn tên tệp.

Sau khi sao chép đường dẫn của tệp, bạn cần chạy mã.

Vì lý do này, hãy chuyển đến tab Nhà phát triển >> chọn Visual Basic . Sau đó chuyển đến tab Chèn >> chọn Mô-đun. Trong hộp thoại Chung , chúng tôi viết mã.

Vì chương trình làm việc của chúng tôi là tìm Filename từ tên đường dẫn, chúng tôi sẽ đặttên đường dẫn đầy đủ (từ gốc đến tệp) và mã của chúng tôi sẽ là

6142

Ở đây trong mã của chúng tôi, chúng tôi đã đặt tên đường dẫn là E:\Exceldemy\Sales_of_Jan. xlsx

Phân tích mã:

  • Ban đầu, chúng tôi đã khai báo một biến chuỗi có tên là FN . Và đầu ra của hàm Dir đã được lưu trong biến này.
  • Tiếp theo, hàm Dir tìm tên tệp và trả về từ đường dẫn được cung cấp.
  • Sau đó, MsgBox đặt đầu ra thông qua hộp thông báo. MsgBox trả về đầu ra bằng hộp thông báo.
  • Sau đó, chạy mã bằng phím F5 .

Cuối cùng, chúng tôi đã tìm thấy tệp có tên Sales_of_Jan.xlsx .

2. Kiểm tra sự tồn tại của một thư mục

Chúng ta có thể kiểm tra sự tồn tại của một thư mục bằng chức năng Dir . Hãy viết mã để kiểm tra xem thư mục Exceldemy có tồn tại hay không. Viết mã sau vào hộp chung và chạy mã đó bằng phím F5 .

6341

Phân tích mã :

  • Chúng ta đã khai báo hai biến; PN chứa tên đường dẫn đầy đủ của thư mục kiểm tra của chúng tôi.
  • Ở đây trong hàm Dir , chúng tôi đã đặt hai giá trị, tên đường dẫn và thuộc tính giá trị là vbDirectory . Giá trị thuộc tính này sẽ giúp phát hiện thư mục. Và đầu ra của chức năng này được lưu trữ trong Biến tệp.
  • Sau đó, chúng tôi đã kiểm tra xem biến đó có trống hay không. Nếu chúng tôi thấy rằng biến không tồn tại, thì hãy khai báo sự tồn tại của thư mục thông qua hộp thông báo, nếu không, trả về không tồn tại.

Ở đây, Exceldemy tồn tại, vì vậy chúng tôi sẽ tìm thấy “ Exceldemy tồn tại ”, trong đó Exceldemy là tên của thư mục.

3. Tạo thư mục không tồn tại

Bạn có thể tạo thư mục không tồn tại trên PC của mình. Đối với điều này, bạn phải tạo một tên đường dẫn không tồn tại trong các thư mục của mình. Hãy tưởng tượng chúng ta sẽ tạo một thư mục có tên Exceldemy_1 . Chúng ta sẽ sử dụng lệnh MkDir để tạo thư mục, nhưng trước đó, chúng ta cần viết mã VBA sau.

2719

Ở đây, chúng tôi đã viết một lệnh để tạo thư mục bằng cách sử dụng tên đường dẫn từ khối Else trong mã của chúng tôi. Chạy mã bằng phím F5 .

Thư mục đã được tạo. Hãy nhìn vào thư mục thư mục. Thư mục Exceldemy_1 hiện đã hiển thị trên máy tính của bạn.

Bài đọc tương tự:

  • Cách gọi Sub trong VBA trong Excel (4 ví dụ)
  • Trả về giá trị trong hàm VBA (Cả giá trị mảng và giá trị không phải mảng)
  • Sử dụng hàm VBA UCASE trong Excel (4 ví dụ)
  • Cách sử dụng hàm TRIM trongVBA trong Excel (Định nghĩa + Mã VBA)

4. Tìm tệp đầu tiên từ thư mục

Nhiệm vụ chính của hàm Dir là để tìm tệp đầu tiên trong thư mục được cung cấp. Tất cả những gì bạn cần cung cấp bên trong hàm là tên đường dẫn (tối đa thư mục chứa) và nó sẽ trả về tệp đầu tiên từ thư mục đó.

Hãy tìm tệp đầu tiên từ của chúng tôi Thư mục Exceldemy. Mã của chúng tôi sẽ là

6456

Bạn có thể xem mã cơ bản; chúng tôi đã chuyển tên đường dẫn vào hàm Dir . Bây giờ Chạy mã bằng phím F5 , bạn sẽ tìm thấy tệp đầu tiên trong thư mục này.

5. Tìm tất cả Tệp từ một thư mục

Trong phần trước, chúng ta đã biết cách tìm tên tệp đầu tiên từ một thư mục. Tình huống có thể phát sinh khi bạn cần tìm tất cả các tệp từ một thư mục cụ thể. Để tìm tất cả các tệp trong một thư mục cụ thể, bạn phải viết mã VBA sau.

5092

Đây là hai biến để lưu tên tệp dưới dạng đơn ( FN ) và dưới dạng danh sách ( FL ). Vòng lặp Do While lặp cho đến khi không còn tệp nào trong thư mục, sử dụng vòng lặp này, chúng tôi đẩy mọi tên tệp vào biến FL .

Thực thi mã, và bạn sẽ tìm thấy tất cả các tệp trong thư mục, giống như trong hình bên dưới.

6. Tìm tất cả các tệp và thư mục từ một thư mục

Chúng tôiđã đề cập trong phần trước nơi tìm thấy tất cả các tệp. Chúng tôi cũng có thể tìm thấy tất cả các thư mục con trong một thư mục. Để thực hiện việc này, hãy viết mã VBA mà chúng tôi đã đính kèm bên dưới.

5161

Thay đổi trong mã của chúng tôi chỉ là việc sử dụng các tham số thuộc tính. Chúng tôi đã sử dụng vbDirectory trong trường đó. Chạy mã và bạn sẽ tìm thấy tất cả các tệp và thư mục con của Exceldemy_Folder .

7 .Tìm tất cả các tệp thuộc một loại cụ thể

Sử dụng chức năng VBA Dir chúng ta có thể tìm thấy bất kỳ loại tệp cụ thể nào. Hãy cùng khám phá một ví dụ.

Chúng ta sẽ tìm các tệp .csv từ thư mục của mình. Mã của chúng tôi sẽ giống như sau-

1682

Chúng tôi hy vọng bạn đã hiểu mã này, sử dụng cơ chế tương tự để tìm tệp. Trong tên đường dẫn, chúng tôi đã sử dụng ký tự đại diện ( * ). Dấu hoa thị (*) này biểu thị rằng bất kỳ ký tự nào cho đến bất kỳ số nào cũng có thể xuất hiện. Ký tự đại diện đã được sử dụng theo cách mà tên tệp có thể là bất kỳ thứ gì nhưng phải là tệp .csv .

Khi bạn chạy mã, mã sẽ trả về . csv từ thư mục Exceldemy của chúng tôi.

Phần thực hành

Chúng tôi đã cung cấp một phương pháp thực hành phần trên mỗi tờ ở phía bên phải để bạn thực hành. Hãy tự mình làm điều đó.

Kết luận

Đó là tất cả về phần hôm nay. Và đây là một số ví dụ dễ dàngcủa hàm VBA Dir trong Excel. Vui lòng cho chúng tôi biết trong phần nhận xét nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào. Để hiểu rõ hơn mời các bạn tải về bảng thực hành. Truy cập trang web của chúng tôi, Exceldemy , nhà cung cấp giải pháp Excel toàn diện, để tìm hiểu về các loại phương pháp Excel đa dạng. Cảm ơn bạn đã kiên nhẫn đọc bài viết này.

Hugh West là một nhà phân tích và huấn luyện viên Excel giàu kinh nghiệm với hơn 10 năm kinh nghiệm trong ngành. Ông có bằng Cử nhân Tài chính Kế toán và bằng Thạc sĩ Quản trị Kinh doanh. Hugh có niềm đam mê giảng dạy và đã phát triển một phương pháp giảng dạy độc đáo, dễ hiểu và dễ theo dõi. Kiến thức chuyên môn về Excel của ông đã giúp hàng nghìn sinh viên và chuyên gia trên toàn thế giới cải thiện kỹ năng và xuất sắc trong sự nghiệp của họ. Thông qua blog của mình, Hugh chia sẻ kiến ​​thức của mình với mọi người, cung cấp các hướng dẫn Excel miễn phí và đào tạo trực tuyến để giúp các cá nhân và doanh nghiệp phát huy hết tiềm năng của họ.