Jak używać funkcji VBA DIR w Excelu (7 praktycznych przykładów)

  • Udostępnij To
Hugh West

Na stronie DIR działać w VBA głównie pokazuje katalog lub pliki z danego folderu. Może również zwrócić pierwszy plik. Funkcja ta ma wiele zastosowań w celu uzyskania konkretnych plików i folderów. Wystarczy tylko wstawić ścieżkę do pliku w pathname of the VBA Może się okazać, że trudniej będzie użyć kodu. VBA DIR Nie martw się, w tym artykule pokażemy Ci kilka przykładów dla lepszej wizualizacji, aby użyć VBA DIR Mam nadzieję, że po przeczytaniu artykułu będziesz potrafił korzystać z tej funkcji, a więc zaczynajmy.

Pobierz Zeszyt ćwiczeń

Pobierz poniższy zeszyt ćwiczeń, pomoże Ci on lepiej zrozumieć temat.

DIR Function.xlsm

Wprowadzenie do funkcji DIR

Streszczenie:

Na stronie VBA DIR Funkcja zwraca nazwę pliku lub katalogu z podanej ścieżki do katalogu. Konwencjonalnie zwraca pierwszy plik.

Składnia:

Dir [ (pathname, [ attributes ] ) ]

Argumenty Wyjaśnienie:

Argument Wymagane/opcjonalne Wyjaśnienie
PathName Opcjonalnie Ścieżka aby uzyskać dostęp i określa plik
Atrybuty Opcjonalnie Stała lub wyrażenie liczbowe określa atrybuty pasujących plików

Istnieje kilka predefiniowanych atrybutów, są to-.

Nazwa atrybutu Opis
vbNormal Pliki bez określonych atrybutów
vbReadOnly Pliki tylko do odczytu bez atrybutów
vbHidden Ukryte pliki bez atrybutów
vbSystem Pliki systemowe bez atrybutów
vbVolume Etykieta objętościowa
vbDirectory Katalogi lub foldery bez atrybutów
vbAlias Podana nazwa pliku jest aliasem

7 Przykładów użycia funkcji VBA DIR w Excelu

Z opisu można było zrozumieć, że. VBA DIR Funkcja podaje nazwę pliku z podanej ścieżki. Zrozumiemy to na przykładzie. Mamy tu utworzony katalog Exceldemy_Folder aby pokazać różne przykłady. W tym folderze znajdują się różne małe foldery i pliki.

1. znajdź nazwę pliku w ścieżce

W naszym folderze możemy znaleźć konkretny plik deklarując ścieżkę do nazwy pliku.

Po skopiowaniu ścieżki pliku należy uruchomić kod.

Z tego powodu należy udać się do Deweloper tab>> pick Visual Basic . Then go to Wkładka tab>> wybierz Moduł. W Ogólne okno dialogowe, wpisujemy kod.

Ponieważ naszym celem jest znalezienie Nazwa pliku z nazwy ścieżki, ustawimy pełną nazwę ścieżki (od samego korzenia do pliku) i nasz kod będzie wyglądał

 Sub FileNames() Dim FN As String FN = Dir("E:\"Sprzedaż_styczniowa.xlsx") MsgBox FN End Sub. 

Tutaj w naszym kodzie ustawiliśmy nazwę ścieżki jako E:\NSprzedaż_stycznia.xlsx

Podział kodu:

  • Na początku zadeklarowaliśmy zmienną typu string o nazwie FN . And the output of Dir funkcja została zapisana w tej zmiennej.
  • Następnie. Dir Funkcja znajduje nazwę pliku i zwraca go z podanej ścieżki.
  • Następnie. MsgBox ustawia wyjście przez skrzynkę wiadomości. MsgBox zwraca dane wyjściowe za pomocą okna wiadomości.
  • Następnie uruchom kod za pomocą F5 klucz.

W końcu znaleźliśmy plik o nazwie Sales_of_January.xlsx .

2. sprawdzić istnienie katalogu

Możemy sprawdzić istnienie katalogu za pomocą polecenia Dir Napiszmy kod, który sprawdzi, czy Exceldemy Zapisz następujący kod w ogólnym polu i uruchom go za pomocą F5 klucz.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " istnieje" Else MsgBox "Plik nie istnieje" End If End Sub 

Podział kodu:

  • Zadeklarowaliśmy dwie zmienne; PN zawiera pełną nazwę ścieżki do naszego katalogu sprawdzającego.
  • Tutaj w obrębie Dir w funkcji, ustawiliśmy dwie wartości, nazwę ścieżki i wartość atrybutu jako vbDirectory Ta wartość atrybutu pomoże wykryć katalog. A wyjście tej funkcji jest przechowywane w Plik zmienny.
  • Następnie sprawdziliśmy, czy zmienna jest pusta, czy nie. Jeśli stwierdzimy, że zmienna nie jest, to deklarujemy istnienie katalogu poprzez okienko komunikatu, w przeciwnym razie zwrot nie istnieje.

Tutaj Exceldemy katalog istnieje, więc znajdziemy " Exceldemy istnieje ", gdzie Exceldemy to nazwa folderu.

3. utwórz folder, który nie istnieje

Możesz stworzyć katalog, który nie istnieje na Twoim komputerze. W tym celu musisz stworzyć nazwę ścieżki, która nie istnieje w Twoich folderach. Wyobraźmy sobie, że zamierzamy stworzyć katalog o nazwie Exceldemy_1 Użyjemy MkDir aby utworzyć katalog, ale przedtem musimy napisać następujące polecenie VBA kod.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:‖ File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " Folder plików istnieje‖ Else MkDir PN MsgBox "Utworzono folder plików o nazwie‖ & File End If End Sub. 

Tutaj napisaliśmy polecenie do utworzenia katalogu przy użyciu nazwy ścieżki z Else blok naszego kodu. Uruchom kod z F5 klucz.

Katalog został utworzony, przyjrzyjmy się folderowi z katalogiem.Katalog Exceldemy_1 folder jest teraz widoczny na komputerze.

Podobne Lektury:

  • Jak wywołać Sub w VBA w Excelu (4 przykłady)
  • Zwracanie wartości w funkcji VBA (zarówno wartości tablicowe jak i nie tablicowe)
  • Użyj funkcji VBA UCASE w Excelu (4 przykłady)
  • Jak używać funkcji TRIM w VBA w Excelu (Definicja + kod VBA)

4. Znajdź pierwszy plik z katalogu

Podstawowym zadaniem Dir Funkcja ma za zadanie znaleźć pierwszy plik w podanym katalogu. Wystarczy, że podasz wewnątrz funkcji nazwę ścieżki (aż do katalogu kontenera), a zwróci ona pierwszy plik z tego katalogu.

Znajdźmy pierwszy plik z naszego Exceldemy Nasz kod będzie wyglądał

 Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:ą" FN = Dir(PN) MsgBox "Pierwszy plik: " & FN End Sub 

Możesz zobaczyć podstawowy kod; przekazaliśmy nazwę ścieżki do Dir funkcja. teraz Uruchom kod z F5 klawisz, znajdziesz pierwszy plik w tym katalogu.

5. Znajdź wszystkie pliki z katalogu

W poprzednim rozdziale widzieliśmy jak znaleźć pierwszą nazwę pliku z katalogu. Sytuacja może się pojawić, gdy trzeba znaleźć wszystkie pliki z określonego katalogu. Aby znaleźć wszystkie pliki w określonym katalogu, należy napisać VBA kod.

 Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:‖) Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Lista plików:" & FL) End Sub 

Oto dwie zmienne do przechowywania nazw plików jako pojedynczych ( FN ), oraz jako lista ( FL ). Do czasu pętla iteruje aż do momentu, gdy żaden plik nie pozostanie w katalogu, używając tej pętli, wciskamy każdą nazwę pliku do FL zmienny.

Wykonaj kod, a znajdziesz wszystkie pliki w katalogu, jak na obrazku poniżej.

6. Znajdź wszystkie pliki i foldery z katalogu

W poprzednim rozdziale wspomnieliśmy o tym, gdzie znaleźć wszystkie pliki. Możemy również znaleźć wszystkie podfoldery w danym folderze. Aby to zrobić, napisz następujące polecenie VBA kod, który załączyliśmy poniżej.

 Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:‖, vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN = Dir() Loop MsgBox ("Plik Lst:" & Lst) End Sub 

Zmiana w naszym kodzie polega jedynie na wykorzystaniu parametrów atrybutów.Wykorzystaliśmy vbDirectory w tej dziedzinie. Uruchom kod, a znajdziesz wszystkie pliki i podfoldery Exceldemy_Folder .

7. Znajdź wszystkie pliki określonego typu

Używanie VBA Dir Funkcja ta pozwala nam na znalezienie dowolnego typu pliku. Zbadajmy to na przykładzie.

Znajdziemy .csv nasz kod będzie wyglądał tak jak poniżej.

 Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:‖) Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Lista plików .csv:" & FL) End Sub 

Mamy nadzieję, że zrozumiałeś kod, który wykorzystuje podobny mechanizm do wyszukiwania plików. W nazwie ścieżki użyliśmy znaku wieloznacznego ( * ). ta gwiazdka (*) oznacza, że może wystąpić dowolny znak do dowolnej liczby. Symbol wieloznaczny został użyty w taki sposób, że nazwa pliku może być dowolna, ale musi być to znak .csv akta.

Po uruchomieniu kodu, zwróci on wartość .csv pliki z naszego Exceldemy katalog.

Część ćwiczeniowa

Na każdym arkuszu po prawej stronie zamieściliśmy sekcję ćwiczeniową do samodzielnego wykonania.

Wniosek

To wszystko na temat dzisiejszej sesji. A to są proste przykłady m.in. VBA Dir funkcja w Excelu.Daj nam znać w sekcji komentarzy, jeśli masz jakieś pytania lub sugestie.Aby lepiej zrozumieć, pobierz arkusz ćwiczeń.Odwiedź naszą stronę internetową, Exceldemy Dzięki swojej cierpliwości w czytaniu tego artykułu, możesz dowiedzieć się o różnych rodzajach metod Excela.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.