3 Hitre metode za rekurziven seznam vseh datotek v mapi Windows v Excelovem delovnem listu

Skupna raba zdaj:

Mnogi uporabniki morajo hitro našteti vse datoteke v mapi Windows in vse njene podmape na Excelovem delovnem listu. V tem članku vam bomo predstavili 3 hitre načine, kako to uresničiti.

Če želite rekurzivno navesti vse datoteke v mapi Windows na Excelovem delovnem listu, vam zagotovo ne bo všeč ročno kopiranje imen datotek v Excel. Nedvomno je preveč dolgočasno in dolgotrajno. Zato vas bomo tukaj naučili 3 veliko pametnejših in bolj priročnih pristopov

1. način: seznam datotek v mapi Windows prek Firefoxa ali Google Chroma

  1. Najprej v Raziskovalcu odprite določeno mapo Windows in kopirajte pot do mape.Kopiraj pot mape
  2. Nato zaženite Firefox ali Google Chrome.
  3. Nato prilepite kopirano pot do mape v naslovno vrstico internetnega brskalnika.
  4. Po tem pritisnite tipko "Enter".
  5. Vse datoteke v tej mapi Windows bodo naenkrat navedene v brskalniku.Datoteke s seznama v Firefoxu
  6. Nato pritisnite "Ctrl + A", da izberete vso vsebino, in "" Ctrl + C "", da jih kopirate.
  7. Nazadnje jih prilepite na Excelov delovni list.Kopirane kotirane datoteke iz Firefoxa prilepite v Excel

2. način: seznam datotek v mapi Windows prek »Upravitelja imen«

  1. Sprva ustvarite nov Excelov delovni list.
  2. Nato izberite Celica A1.
  3. Nato pojdite na zavihek "Formule" in kliknite gumb "Name Manager".
  4. V pojavnem pogovornem oknu kliknite gumb »Novo«.Ime Manger
  5. Nato v naslednje pogovorno okno v polje »Ime« vnesite »Datoteke«.
  6. In spremenite "= Sheet1! $ A $ 1" v "= FILES (Sheet1! $ A $ 1)" v polju "Se nanaša na:".Novo ime
  7. Nato kliknite »V redu« in zaprite pogovorno okno »Upravitelj imen«.
  8. Kasneje kopirajte pot mape Windows v celico A1 in dodajte »\* "Na koncu poti.V celico A1 vnesite pot mape
  9. Nato izberite celico A3 in vnesite funkcijo "= INDEX (Datoteke, ROW () - 2)".Vhodna funkcija v celici A3
  10. Takoj bo navedena datoteka v tej mapi Windows, kot je naslednja slika.Datoteka se prikaže
  11. Na koncu preprosto kopirajte to funkcijo v več vrstic, da se prikažejo druge datoteke, dokler ne vidite "#REF!" napaka. Napaka pomeni, da so bile navedene vse datoteke.Kopirajte funkcijo v več vrstic, dokler ne vidite napake

3. način: Rekurziven seznam datotek v mapi Windows prek Excel VBA

  1. Za začetek ustvarite novo Excelovo datoteko.
  2. Nato odprite urejevalnik Excel VBA s sklicevanjem na “Kako zagnati kodo VBA v Excelu".
  3. Nato kopirajte naslednjo kodo v projekt »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

Koda VBA - Rekurziven seznam datotek v mapi Windows

  1. Zdaj kliknite prvo podprogram in pritisnite tipko “F5”.
  2. V pojavnem pogovornem oknu se pomaknite do mape Windows, v kateri želite seznam datotek, in izberite »V redu«.Izberite mapo
  3. Ko se makro konča, se na koncu vrnite na Excelov delovni list. Navedene so bile vse datoteke v mapi Windows in njenih podmapah, kot je prikazano na naslednjem posnetku zaslona.Datoteke s seznama v Excelu

Excel se občasno zruši

Tako kot druga programska oprema se lahko tudi Excel občasno sesuje, kar lahko neposredno uniči trenutno odprto Excelovo datoteko. V takih primerih večina uporabnikov upa, da bo Excel ob ponovnem zagonu samodejno obnovil datoteko. Vendar pa se v resnici pogosto izkaže, da ni tako, kot pričakujete. V takem primeru bi bilo nujno, da se zatečete k ... Popravilo v Excelu orodje, kot DataNumen Excel Repair.

Uvod avtorja:

Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z izterjati mdf in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.