3 raske metoder for å rekursivt liste alle filer i en Windows-mappe i Excel-regneark

Mange brukere må raskt liste alle filene i en Windows-mappe og alle undermappene i et Excel-regneark. Derfor vil vi i denne artikkelen introdusere deg 3 raske måter å realisere det på.

Hvis du vil rekursivt liste alle filene i en Windows-mappe i et Excel-regneark, vil du garantert mislike å kopiere filnavnene til Excel manuelt. Det er utvilsomt for kjedelig og tidkrevende. Derfor vil vi her lære deg 3 mye smartere og mer praktiske tilnærminger

Metode 1: List filer i en Windows-mappe via Firefox eller Google Chrome

  1. Først av, i Windows Utforsker, gå til den spesifikke Windows-mappen og kopier mappebanen.Kopier mappebane
  2. Start deretter Firefox eller Google Chrome.
  3. Deretter limer du inn den kopierte mappebanen i adressefeltet til nettleseren.
  4. Etter det, trykk "Enter"-tasten.
  5. På en gang vil alle filene i denne Windows-mappen bli oppført i nettleseren.Listede filer i Firefox
  6. Trykk deretter "Ctrl + A" for å velge alt innhold og ""Ctrl + C"" for å kopiere dem.
  7. Til slutt limer du dem inn i et Excel-regneark.Lim inn kopierte listede filer fra Firefox til Excel

Metode 2: List filer i en Windows-mappe via "Name Manager"

  1. Opprett først et nytt Excel-regneark.
  2. Deretter velger du celle A1.
  3. Deretter går du til "Formler"-fanen og klikker på "Navnebehandling" -knappen.
  4. I popup-dialogboksen klikker du på "Ny"-knappen.Navn krybbe
  5. Deretter, i den neste dialogboksen, skriv inn "Filer" i "Navn"-feltet.
  6. Og endre "=Ark1!$A$1" til "=FILER(Ark1!$A$1)" i "Refererer til:"-feltet.Nytt navn
  7. Klikk deretter "OK" og lukk dialogboksen "Navnebehandling".
  8. Senere kopierer du Windows-mappebanen i celle A1 og legger til "\*” på slutten av banen.Skriv inn mappebane i celle A1
  9. Velg deretter celle A3 og skriv inn funksjonen "=INDEKS(Filer, RAD()-2)".Inndatafunksjon i celle A3
  10. Med en gang vil en fil i denne Windows-mappen bli oppført, som følgende bilde.En fil blir oppført
  11. Til slutt, bare kopier denne funksjonen ned flere rader for å liste de andre filene til du ser "#REF!" feil. Feilen betyr at alle filene er oppført.Kopier funksjon ned flere rader til du ser feil

Metode 3: List filer rekursivt i en Windows-mappe via Excel VBA

  1. For somtart, opprett en ny Excel-fil.
  2. Deretter får du tilgang til Excel VBA-editor med referanse til "Hvordan kjøre VBA-kode i Excel".
  3. Kopier deretter følgende kode inn i "ThisWorkbook"-prosjektet.
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-kode - List rekursivt filer i en Windows-mappe

  1. Klikk nå inn i den første subrutinen og trykk "F5"-tasten.
  2. I popup-dialogboksen, naviger til og velg en Windows-mappe som du vil vise filer fra, og klikk "OK".Velg mappe
  3. Til slutt, når makroen er ferdig, gå tilbake til Excel-regnearket. Alle filene i Windows-mappen og dens undermapper er oppført, som vist i følgende skjermbilde.Listede filer i Excel

Excel krasjer fra tid til annen

Som annen programvare kan Excel krasje nå og da, noe som direkte kan ødelegge den åpne Excel-filen. I slike tilfeller vil et flertall av brukerne håpe at Excel kan automatisk gjenopprette filen på restart. Men oftere enn er ikke virkeligheten som du forventer. Da ville det være viktig å ty til en Excel reparasjon verktøy, som DataNumen Excel Repair.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert gjenopprette mdf og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.