Hur listar jag alla filer i mapp och undermappar i ett kalkylblad?
Har du någonsin försökt att lista alla filnamn från en mapp till ett kalkylblad inklusive filerna i dess undermappar? Det finns faktiskt inget direkt sätt för oss att lista filnamnen från en mapp och dess undermapp i Excel, men i dag kommer jag att introducera några snabba knep för att lösa detta jobb.
Lista alla filnamn i mapp och undermapp med VBA-kod
Lista alla filnamn i mapp och undermapp snabbt och enkelt med Kutools för Excel
Lista alla filnamn i mapp och undermapp med VBA-kod
Normalt har Excel ingen inbyggd funktion för att hantera den här uppgiften, men du kan använda följande VBA-kod för att slutföra detta problem.
1. Aktivera ett nytt kalkylblad som visar filnamnen.
2. Håll ner ALT + F11 nycklar i Excel, och det öppnar Microsoft Visual Basic för applikationer fönster.
3. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Lista alla filnamn i mapp och undermapp
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. När du har klistrat in koden i modulen trycker du på F5 nyckel för att köra den här koden och en Makron dialogrutan dyker upp, välj Huvudlista makronamn och klicka sedan på Körning knapp, se skärmdump:
5. Och i Bläddra fönster, välj den mapp som du vill lista alla filnamn inklusive undermappar, se skärmdump:
6. När du har angett mappen klickar du sedan på OK -knappen och alla filnamn i mappen och dess undermappar har listats i aktuellt kalkylblad från cell A2, se skärmdumpar:
Lista alla filnamn i mapp och undermapp snabbt och enkelt med Kutools för Excel
Med ovanstående kod kan du bara lista filnamnen, ibland måste du lista andra attribut, såsom filstorlek, filtyp, skapad tid, innehållande mapp och så. Kutools för Excel innehåller en användbar funktion - Lista över filnamn, med den här funktionen kan du snabbt lista alla eller specifika typer av filnamn i en mapp och dess undermappar.
Efter nedladdning och installation Kutools för Excel, gör med följande steg:
1. Klicka Företag > Import Export > Lista över filnamn, se skärmdump:
2. I Lista över filnamn dialogrutan, gör följande:
A: Klicka på knappen för att välja den mapp som du vill lista filnamnen;
B: Ange den filtyp som du vill lista från Filtyp sektion;
C: Välj en filstorleksenhet som du vill visa från Enhet för filstorlek sektion.
Anmärkningar: För att lista filnamnen från undermappen, kontrollera Inkludera filer i underkatalogerkan du också kontrollera Inkludera dolda filer och mappar som du behöver. Om du kollar Skapa hyperlänkar alternativ skapas hyperlänkar för varje filnamn och mappar.
3. Klicka sedan OK -knappen, alla filer i den valda mappen och dess undermappar har visats med följande attribut i ett nytt kalkylblad. Se skärmdump:
Klicka för att få mer information om detta filnamnlistverktyg.
Ladda ner och testa gratis Kutools för Excel nu!
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!