Spis treści
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.xlsmWprowadzenie 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.