Hogyan lehet felsorolni az összes mappát és almappát az Excelben?
Szenvedte már ezt a problémát, amely egy megadott könyvtár összes mappáját és almappáját egy munkalapba sorolja? Az Excel alkalmazásban nincs gyors és praktikus módszer arra, hogy egyszerre megkaphassa az összes mappa nevét egy adott könyvtárban. A feladat kezeléséhez ez a cikk segíthet.
Sorolja fel az összes mappát és almappát VBA kóddal
Sorolja fel az összes mappát és almappát VBA kóddal
Ha az összes mappanevet egy megadott könyvtárból szeretné megszerezni, a következő VBA-kód segíthet, kérjük, tegye a következőket:
1. Tartsa lenyomva a ALT + F11 gombokat, és ez megnyitja a Microsoft Visual Basic for Applications ablak.
2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablak.
VBA-kód: Sorolja fel az összes mappát és almappanevet
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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és a Válassza ki a mappát ablak megjelenik, majd ki kell választania azt a könyvtárat, amelybe fel kívánja sorolni a mappák és almappák nevét, lásd a képernyőképet:
4. Kattints OK, és megkapja a mappa és az almappák elérési útját, könyvtárát, nevét, létrehozási dátumát és utoljára módosított dátumát egy új munkafüzetben, lásd a képernyőképet:
Kapcsolódó cikk:
Hogyan lehet egy könyvtárban lévő fájlokat felsorolni az Excel munkalapjára?
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!