3 snabba metoder för att rekursivt lista alla filer i en Windows-mapp i Excel-kalkylblad

Många användare behöver snabbt lista alla filer i en Windows-mapp och alla dess undermappar i ett Excel-kalkylblad. Därför presenterar vi dig i denna artikel tre snabba sätt att förverkliga det.

Om du vill rekursivt lista alla filer i en Windows-mapp i ett Excel-kalkylblad, kommer du säkert inte att kopiera filnamnen till Excel manuellt. Utan tvekan är det för tråkigt och tidskrävande. Därför kommer vi här att lära dig 3 mycket smartare och bekvämare metoder

Metod 1: Lista filer i en Windows-mapp via Firefox eller Google Chrome

  1. Först och främst, i Windows Explorer, öppna den specifika Windows-mappen och kopiera mappvägen.Kopiera mappsökväg
  2. Starta sedan Firefox eller Google Chrome.
  3. Klistra sedan in den kopierade mappvägen i adressfältet i webbläsaren.
  4. Tryck därefter på "Enter".
  5. Omedelbart listas alla filer i den här Windows-mappen i webbläsaren.Listade filer i Firefox
  6. Tryck sedan på "Ctrl + A" för att välja allt innehåll och "" Ctrl + C "" för att kopiera dem.
  7. Slutligen klistra in dem i ett Excel-kalkylblad.Klistra in kopierade listade filer från Firefox till Excel

Metod 2: Lista filer i en Windows-mapp via “Namnhanteraren”

  1. Skapa först ett nytt Excel-kalkylblad.
  2. Välj sedan Cell A1.
  3. Gå sedan till fliken "Formler" och klicka på "Namnhanteraren" -knappen.
  4. Klicka på knappen "Ny" i popup-dialogrutan.Namn Manger
  5. Därefter matar du in "Filer" i fältet "Namn" i nästa dialogruta.
  6. Och ändra “= Sheet1! $ A $ 1” till “= FILES (Sheet1! $ A $ 1)” i fältet “Refererar till:”.Nytt namn
  7. Klicka sedan på “OK” och stäng dialogrutan “Namnhanteraren”.
  8. Senare kopierar du Windows-mappsökvägen i Cell A1 och lägger till “\* ”I slutet av vägen.Ange mappsökväg i cell A1
  9. Välj sedan Cell A3 och mata in funktionen "= INDEX (Files, ROW () - 2)".Inmatningsfunktion i cell A3
  10. Omedelbart kommer en fil i den här Windows-mappen att listas, som följande bild.En fil listas
  11. Slutligen, kopiera bara den här funktionen nedåt flera rader för att lista de andra filerna tills du ser "#REF!" fel. Felet innebär att alla filer har listats.Kopieringsfunktion ner flera rader tills fel visas

Metod 3: Lista filer rekursivt i en Windows-mapp via Excel VBA

  1. Till att börja med, skapa en ny Excel-fil.
  2. Gå sedan till Excel VBA-redigerare med hänvisning till “Så här kör du VBA-kod i din Excel".
  3. Kopiera sedan följande kod till projektet "ThisWorkbook".
Sub BatchListAllFiles_FolderSubfolders()
    Dim strWindowsFolder As String
 
    'Select the source Windows folder
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder to list Files from"
        .InitialFileName = "E:\"
        .Show
        If .SelectedItems.Count > 0 Then
           strWindowsFolder = .SelectedItems(1) & "\"
        End If
    End With
 
    With ActiveSheet
         .Cells(1, 1) = "Name"
         .Cells(1, 1).Font.Bold = True
         .Cells(1, 2) = "Path"
         .Cells(1, 2).Font.Bold = True
         .Cells(1, 3) = "Size(Bytes)"
         .Cells(1, 3).Font.Bold = True
         .Cells(1, 4) = "Type"
         .Cells(1, 4).Font.Bold = True
         .Cells(1, 5) = "Created"
         .Cells(1, 5).Font.Bold = True
    End With
 
    Call LoopFolders(strWindowsFolder)
End Sub

Sub LoopFolders(strFolderPath As String)
    Dim objFileSystem As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim nLastRow As Integer
 
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSystem.GetFolder(strFolderPath)
 
    For Each objFile In objFolder.Files
        With ActiveSheet
            nLastRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
            .Range("A" & nLastRow) = objFile.Name
            .Range("B" & nLastRow) = objFile.Path
            .Range("C" & nLastRow) = objFile.Size
            .Range("D" & nLastRow) = objFile.Type
            .Range("E" & nLastRow) = objFile.DateCreated
            .Columns("A:E").AutoFit
       End With
    Next
 
    'Process all folders and subfolders recursively
    If objFolder.SubFolders.Count > 0 Then
       For Each objSubFolder In objFolder.SubFolders
           'Skip the system and hidden folders
           If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
              LoopFolders (objSubFolder.Path)
           End If
       Next
    End If
End Sub

VBA-kod - Rekursivt lista filer i en Windows-mapp

  1. Klicka nu på den första underrutinen och tryck på “F5” -tangenten.
  2. I popup-dialogrutan, navigera till och välj en Windows-mapp som du vill lista filer från och klicka på “OK”.Välj mapp
  3. Så småningom, när makrot är klart, återgå till Excel-kalkylbladet. Alla filer i Windows-mappen och dess undermappar har listats, som visas i följande skärmdump.Listade filer i Excel

Excel kraschar från tid till annan

Precis som annan programvara kan Excel krascha då och då, vilket direkt kan förstöra den öppna Excel-filen. I sådana fall hoppas de flesta användare att Excel automatiskt kan återställa filen vid omstart. Men oftast är verkligheten inte vad man förväntar sig. Då är det viktigt att tillgripa en Excel-reparation verktyg, som DataNumen Excel Repair.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive återställa mdf och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.