Note: The other languages of the website are Google-translated. Back to English

Jak wyświetlić listę wszystkich folderów i podfolderów w programie Excel?

Czy kiedykolwiek miałeś problem z wyświetlaniem wszystkich folderów i podfolderów z określonego katalogu w arkuszu? W programie Excel nie ma szybkiego i wygodnego sposobu na jednoczesne pobranie nazwy wszystkich folderów w określonym katalogu. Aby poradzić sobie z zadaniem, ten artykuł może ci pomóc.

Wyświetl wszystkie foldery i podfoldery z kodem VBA

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Wyświetl wszystkie foldery i podfoldery z kodem VBA

Jeśli chcesz uzyskać wszystkie nazwy folderów z określonego katalogu, poniższy kod VBA może ci pomóc, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej następujący kod do pliku Okno modułu.

Kod VBA: lista wszystkich folderów i nazw podfolderów

Sub FolderNames()
'Update 20141027
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose the folder"
    .Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
    xRow = Range("A1").End(xlDown).Row + 1
    Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
    getSubFolder subfld
Next subfld
End Sub

3. Następnie naciśnij F5 klucz do uruchomienia tego kodu oraz plik Wybierz folder pojawi się okno, a następnie musisz wybrać katalog, w którym chcesz wyświetlić nazwy folderów i podfolderów, patrz zrzut ekranu:

lista-dokumentów-nazw-folderów-1

4, Kliknij OK, a otrzymasz ścieżkę folderu i podfolderów, katalog, nazwę, datę utworzenia i datę ostatniej modyfikacji w nowym skoroszycie, zobacz zrzut ekranu:

lista-dokumentów-nazw-folderów-1


Podobne artykuły:

Jak wyświetlić listę plików w katalogu do arkusza roboczego w programie Excel?


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (18)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Wielkie dzięki. Używałem polecenia cmd, aby mieć txt z moimi folderami, a następnie skopiowałem go do programu Excel, ale teraz ułatwiasz mi to :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Co jeśli muszę utworzyć link również do folderu, co powinienem zmodyfikować w kodowaniu i nie możemy utworzyć przycisku i dołączyć do niego tego samego kodowania, więc przyda się to użytkownikom, którzy nie wiedzą, jak uruchamiać makra
Ten komentarz został zminimalizowany przez moderatora na stronie
Zrobiłem dokładnie to, o co prosiłeś. Umieściłem logo mojej firmy na arkuszu, a następnie kliknąłem prawym przyciskiem myszy i przypisałem makro (jest to powyższy kod). Możesz także wstawić instrukcje użytkowania.
Ten komentarz został zminimalizowany przez moderatora na stronie
Ten kod naprawdę uratował dzień. Dziękuję za udostępnienie tego.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, właśnie postępowałem zgodnie z twoimi wskazówkami, ale otrzymuję błędy, gdy naciskam F5, aby uruchomić. Poniższy błąd podświetla „Dim xWs As Worksheet”. Czy mogę użyć zaktualizowanego kodu? Błąd kompilacji: typ zdefiniowany przez użytkownika nie został zdefiniowany
Ten komentarz został zminimalizowany przez moderatora na stronie
[cytat]Cześć, właśnie postępowałem zgodnie z twoimi wskazówkami, ale otrzymuję błędy, gdy naciskam F5, aby uruchomić. Poniższy błąd podświetla „Dim xWs As Worksheet”. Czy mogę użyć zaktualizowanego kodu? Błąd kompilacji: typ zdefiniowany przez użytkownika nie został zdefiniowanyPrzez Caralyn[/ cytat] Czy używasz dodatku Kutools lub edytora MS Excel VBA? Ponieważ nie korzystam z dodatku, nie mogę zduplikować twojego błędu. Korzystanie z edytora MS VBA działa bezbłędnie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Kiedy uruchamiam ten kod, działa, ale pokazuje tylko pierwszy folder w folderze, który wybrałem. Na przykład, kiedy uruchamiam kod, wybieram „C:\Users\Johnson\Music” (Uwaga: mam 70 folderów w moim folderze muzycznym). Po uruchomieniu kodu pokazuje tylko pierwszy folder, a następnie wyświetla listę wszystkich znajdujących się w nim folderów teczka. Chciałbym, aby zawierała listę wszystkich folderów w folderze Muzyka.
Ten komentarz został zminimalizowany przez moderatora na stronie
Jestem z innymi – to działa do pewnego momentu.

Dla mnie chodzi o to, że tworzy nowe s / s, szczegóły folderu, który pokazałem (w komórkach A1), żółty podświetlony pasek w wierszu 2 z nagłówkami, po których nie ma nic więcej!

Folder, na który patrzę, jest pusty, z wyjątkiem podfolderów (tj. nie istnieją żadne pliki danych), a podfoldery w ogóle się nie pojawiają.

Czy ktoś może mi pomóc wyświetlić listę podfolderów i ich plików?
Ten komentarz został zminimalizowany przez moderatora na stronie
Zmodyfikowałem go, aby dodać rozmiar:



Nazwy podfolderów()
„Aktualizacja 20141027”
Application.ScreenUpdating = Fałsz
Dim xPath jako ciąg
Dim xWs jako arkusz roboczy
Dim fso As Object, j As Long, folder1 As Object
Z Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Wybierz folder"
.Pokazać
Kończyć z
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Aplikacja.Skoroszyty.Dodaj
Ustaw xWs = Application.ActiveSheet
xWs.Komórki(1, 1).Wartość = xŚcieżka
xWs.Cells(2, 1).Resize(1, 6).Value = Array("Ścieżka", "Katalog", "Nazwa", "Data utworzenia", "Data ostatniej modyfikacji", "Rozmiar")
Ustaw fso = CreateObject ("Scripting.FileSystemObject")
Ustaw folder1 = fso.getFolder(xPath)
pobierz folder podfolderu1
xWs.Cells(2, 1)).Resize(1, 6).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 6).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Przyciemnij podfolder jako obiekt
Dim subfld jako obiekt
Dim xRow tak długo
Dla każdego podfolderu w prntfld.SubFolders
xRow = Zakres("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 6).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder. Data ostatniej modyfikacji, rozmiar podfolderu)
Następny podfolder
Dla każdego subfld w prntfld.SubFolders
getSubFolder podfolder
Następny subfld
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Po włączeniu funkcji SubFolder.Size skrypt nie wyświetla już wszystkich podfolderów, tylko pierwszy poziom.
Jak mogę uwzględnić rozmiar i wyświetlić wszystkie podfoldery?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć. Czy możesz, proszę, pomóż mi z kodem, który staram się znaleźć.

Poniżej znajdują się wymagania dotyczące kodu.



1. VBA powinien przejść przez wszystkie foldery i podfoldery
i sprawdź każdy typ pliku. Użytkownik powinien podać ścieżkę tylko dla
w górnym folderze. Kod powinien następnie sprawdzić wszystkie foldery i podfoldery
w górnym folderze.



2. Po sprawdzeniu plików kod powinien spakować wszystkie pliki
do których nie uzyskano dostępu przez ponad 3 miesiące. Dostępny okres to
coś, co powinienem móc zmienić w przyszłości, jeśli zajdzie taka potrzeba. Powinno
pozwól mi zmienić to na 1 miesiąc lub 5 miesięcy, jeśli jest to wymagane.



3. Po skompresowaniu plików kod powinien usunąć
oryginalne pliki, które zostały spakowane.



4. Spakowany plik powinien być zapisany w tej samej ścieżce, co
oryginalny plik.
Ten komentarz został zminimalizowany przez moderatora na stronie
Świetne narzędzie! Po długich poszukiwaniach znalazłem tę trafną zabawkę :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Dokładnie to, czego potrzebowałem, i doskonale jasne instrukcje, jak to zrobić. Wielkie dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo!, bardzo przydatne.
Ten komentarz został zminimalizowany przez moderatora na stronie
To zadziałało i jak... Dziękuję bardzo. Tylko jeden dodatek - w kroku 3 musiałem kliknąć Step Into, a następnie zadziałał tylko klawisz F5 przy wyborze folderu.
Ten komentarz został zminimalizowany przez moderatora na stronie
Bardzo dziękuję za ten przydatny kod. czy to możliwe, aby zapisać ten sam skoroszyt, a nie nowy?
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękujemy, dokładnie tego potrzebowaliśmy, aby nagrać teczki dla naszych klientów.
Ten komentarz został zminimalizowany przez moderatora na stronie
Świetna robota... Bardzo mi to pomogło, bardzo dziękuję
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL