Cum se listează toate fișierele din folder și subfoldere într-o foaie de lucru?
Ați încercat vreodată să enumerați toate numele de fișiere dintr-un folder într-o foaie de lucru, inclusiv fișierele aflate în subfolderele sale? De fapt, nu există nicio modalitate directă de a enumera numele de fișiere dintr-un folder și subfolderul său în Excel, cu toate acestea, astăzi, voi introduce câteva trucuri rapide pentru a rezolva această sarcină.
Enumerați toate numele de fișiere din folder și subfolder cu cod VBA
Listați toate numele de fișiere din folder și subfolder rapid și ușor cu Kutools pentru Excel
Enumerați toate numele de fișiere din folder și subfolder cu cod VBA
În mod normal, Excel nu are nicio caracteristică de construcție pentru a face față acestei sarcini, dar puteți aplica următorul cod VBA pentru a finaliza această problemă.
1. Activați o nouă foaie de lucru care va lista numele fișierelor.
2. Țineți apăsat butonul ALT + F11 tastele în Excel și deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.
3. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.
Cod VBA: enumeră toate numele fișierelor din folder și subfolder
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. După lipirea codului în modul, apăsați F5 tasta pentru a rula acest cod și a Macrocomenzi caseta de dialog apare, selectați Lista principală numele macro, apoi faceți clic pe Alerga buton, vezi captura de ecran:
5. Și în Naviga fereastra, vă rugăm să selectați folderul în care doriți să afișați toate numele de fișiere, inclusiv subfolderele, a se vedea captura de ecran:
6. După specificarea folderului, faceți clic pe OK buton și toate numele de fișiere din folder și subfolderele sale au fost listate în foaia de lucru curentă din celula A2, consultați capturi de ecran:
Listați toate numele de fișiere din folder și subfolder rapid și ușor cu Kutools pentru Excel
Cu codul de mai sus, puteți doar să enumerați numele fișierelor, uneori, trebuie să enumerați alte atribute, cum ar fi dimensiunea fișierului, tipul fișierului, timpul creat, conținând folderul și așa mai departe. Kutools pentru Excel conține o funcție utilă - Lista de nume de fișiere, cu această caracteristică, puteți lista rapid toate tipurile sau anumite tipuri de nume de fișiere dintr-un folder și subdirectoarele sale.
Dupa descărcarea și instalarea Kutools pentru ExcelVă rugăm să efectuați pașii următori:
1. Clic Afacere > Import Export > Lista de nume de fișiere, vezi captura de ecran:
2. În Lista de nume de fișiere caseta de dialog, efectuați următoarele operații:
A: Faceți clic pe buton pentru a alege folderul în care doriți să enumerați numele fișierelor;
B: Specificați tipul de fișier pe care doriți să îl listați din Tipul fișierelor secțiune;
C: Selectați o unitate de dimensiune a fișierului pe care doriți să o afișați din Unitatea de dimensiune a fișierului secţiune.
notițe: Pentru a lista numele de fișiere din subfolder, vă rugăm să verificați Includeți fișiere în subdirectoare, puteți verifica și Includeți fișiere și foldere ascunse după cum ai nevoie. Dacă verificați Creați hyperlinkuri opțiune, va crea hyperlinkuri pentru fiecare nume de fișier și folder.
3. Apoi apasa OK butonul, toate fișierele conținute în folderul selectat și subfolderele sale au fost afișate cu următoarele atribute într-o nouă foaie de lucru. Vedeți captura de ecran:
Faceți clic pentru a afla mai multe detalii despre acest utilitar Lista de nume de fișiere.
Descărcați și proba gratuită Kutools pentru Excel acum!
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!