Come elencare tutti i file in una cartella e nelle sottocartelle in un foglio di lavoro?
Avete mai provato a elencare tutti i nomi dei file da una cartella in un foglio di lavoro, includendo i file situati all'interno delle sue sottocartelle? In realtà, non esiste un modo diretto per elencare i nomi dei file da una cartella e dalle sue sottocartelle in Excel. Tuttavia, oggi vi presenterò alcuni trucchi rapidi per risolvere questo problema.
Elencare tutti i nomi dei file in una cartella e sottocartella con il codice VBA
Elencare tutti i nomi dei file in una cartella e sottocartella con il codice VBA
Normalmente, Excel non ha una funzionalità integrata per gestire questa operazione, ma potete applicare il seguente codice VBA per completare questo problema.
1. Attivate un nuovo foglio di lavoro che elencherà i nomi dei file.
2. Tenete premuti i tasti ALT + F11 in Excel, e si aprirà la finestra Microsoft Visual Basic for Applications.
3. Cliccate su Inserisci > Modulo, e incollate il seguente codice nella finestra del Modulo.
Codice VBA: Elencare tutti i nomi dei file in una cartella e sottocartella
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. Dopo aver incollato il codice nel Modulo, premete il tasto F5 per eseguire questo codice, e apparirà una finestra di dialogo Macro, selezionate il nome della macro MainList, quindi cliccate sul pulsante Esegui, vedere screenshot:
5. Nella finestra Sfoglia, selezionate la cartella da cui volete elencare tutti i nomi dei file, inclusi quelli delle sottocartelle, vedere screenshot:
6. Dopo aver specificato la cartella, cliccate sul pulsante OK, e tutti i nomi dei file nella cartella e nelle sue sottocartelle verranno elencati nel foglio di lavoro corrente a partire dalla cella A2, vedere screenshot:
![]() |
![]() |
![]() |
Elencare rapidamente e facilmente tutti i nomi dei file in una cartella e sottocartella con Kutools per Excel
Con il codice sopra, potete solo elencare i nomi dei file; a volte, avete bisogno di elencare altre proprietà, come la dimensione del file, il tipo di file, l'orario di creazione, la cartella contenente e così via. Kutools per Excel contiene una funzione utile – Elenco nomi file, con questa funzione, potete elencare rapidamente tutti o tipi specifici di nomi file in una cartella e le sue sottocartelle.
Dopo aver scaricato e installato Kutools per Excel, seguite i seguenti passaggi:
1. Cliccate su Enterprise > Importa & Esporta > Elenco nomi file, vedere screenshot:
2. Nella finestra di dialogo Elenco nomi file, effettuate le seguenti operazioni:
A: Cliccare per scegliere la cartella da cui volete elencare i nomi dei file;
B: Specificare il tipo di file che volete elencare dalla sezione Tipo di file;
C: Selezionare un'unità di dimensione file che desiderate visualizzare dalla sezione Unità di dimensione file.
Nota: Per elencare i nomi dei file dalle sottocartelle, spuntate Includi file nelle sottodirectory, potete anche spuntare Includi file e cartelle nascoste se necessario. Se selezionate Crea collegamenti ipertestuali, verranno creati collegamenti ipertestuali per ciascun nome file e cartella.
3. Quindi cliccate sul pulsante OK, tutti i file contenuti nella cartella selezionata e nelle sue sottocartelle verranno visualizzati con i seguenti attributi in un nuovo foglio di lavoro. Vedere screenshot:
Clicca per scoprire ulteriori dettagli su questa funzione Elenco nomi file.
Scarica e prova gratuitamente Kutools per Excel Ora!
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!