Hoe alle bestanden in mappen en submappen in een werkblad weergeven?
Heb je ooit geprobeerd om alle bestandsnamen uit een map in een werkblad op te nemen, inclusief de bestanden in de submappen? In feite is er voor ons geen directe manier om de bestandsnamen uit een map en zijn submap in Excel weer te geven, maar vandaag zal ik enkele snelle trucs introduceren om deze taak op te lossen.
Maak een lijst van alle bestandsnamen in map en submap met VBA-code
Maak een lijst van alle bestandsnamen in de map en submap snel en gemakkelijk met Kutools voor Excel
Maak een lijst van alle bestandsnamen in map en submap met VBA-code
Normaal gesproken heeft Excel geen ingebouwde functie om met deze taak om te gaan, maar u kunt de volgende VBA-code toepassen om dit probleem op te lossen.
1. Activeer een nieuw werkblad met de bestandsnamen.
2. Houd de ALT + F11 toetsen in Excel, en het opent het Microsoft Visual Basic voor toepassingen venster.
3. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: maak een lijst van alle bestandsnamen in de map en submap
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
4. Druk op nadat u de code in de module hebt geplakt F5 sleutel om deze code uit te voeren, en een Macro's dialoogvenster verschijnt, selecteert u het Hoofdlijst macronaam en klik vervolgens op lopen knop, zie screenshot:
5. En in de Blader venster, selecteer de map waarvan u alle bestandsnamen wilt weergeven inclusief de submappen, zie screenshot:
6. Nadat u de map hebt opgegeven, klikt u op OK knop, en alle bestandsnamen in de map en zijn submappen zijn weergegeven in het huidige werkblad van cel A2, zie screenshots:
Maak een lijst van alle bestandsnamen in de map en submap snel en gemakkelijk met Kutools voor Excel
Met bovenstaande code kun je gewoon de bestandsnamen vermelden, soms moet je andere attributen vermelden, zoals bestandsgrootte, bestandstype, aangemaakte tijd, map bevatten en zo. Kutools for Excel bevat een handige functie - Bestandsnaam lijstMet deze functie kunt u snel alle of specifieke typen bestandsnamen in een map en zijn submappen weergeven.
Kutools for Excel : met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. |
Na het installeren van Kutools for Excel, voer de volgende stappen uit:
1. Klikken Enterprise > Importeren en exporteren > Bestandsnaam lijst, zie screenshot:
2. In de Bestandsnaam lijst dialoogvenster voert u de volgende bewerkingen uit:
A: Klik knop om de map te kiezen waarvan u de bestandsnamen wilt weergeven;
B: Specificeer het bestandstype dat u wilt weergeven in het Bestanden type sectie;
C: Selecteer een bestandsgrootte-eenheid die u wilt weergeven uit de Bestandsgrootte eenheid pagina.
Note: Controleer om de bestandsnamen uit de submap weer te geven Voeg bestanden toe aan submappen, kunt u ook de Inclusief verborgen bestanden en mappen zoals je nodig hebt. Als je het controleert Maak hyperlinks optie, het maakt hyperlinks voor elke bestandsnaam en map.
3. Dan klikken OK knop, zijn alle bestanden in de geselecteerde map en zijn submappen weergegeven met de volgende attributen in een nieuw werkblad. Zie screenshot:
Klik voor meer details over dit hulpprogramma Bestandslijst.
Download en gratis proef Kutools voor Excel nu!
Demo: maak een lijst van alle bestandsnamen in de map en submap met Kutools voor Excel
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!