Vai al contenuto principale
 

Come elencare tutti i file nella cartella e nelle sottocartelle in un foglio di lavoro?

Autore: Xiaoyang Ultima modifica: 2024-08-28

Hai mai provato a elencare tutti i nomi di file da una cartella in un foglio di lavoro inclusi i file che si trovano nelle sue sottocartelle? In effetti, non esiste un modo diretto per elencare i nomi di file da una cartella e dalla sua sottocartella in Excel, tuttavia, oggi introdurrò alcuni trucchi rapidi per risolvere questo lavoro.

Elenca tutti i nomi di file nella cartella e nella sottocartella con il codice VBA

Elenca tutti i nomi di file nella cartella e nella sottocartella in modo rapido e semplice con Kutools per Excel


Elenca tutti i nomi di file nella cartella e nella sottocartella con il codice VBA

Normalmente, Excel non ha funzionalità integrate per gestire questa attività, ma è possibile applicare il seguente codice VBA per completare questo problema.

1. Attiva un nuovo foglio di lavoro che elencherà i nomi dei file.

2. Tieni premuto il ALT + F11 chiavi in ​​Excel e apre il file Microsoft Visual Basic, Applications Edition finestra.

3. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.

Codice VBA: elenca tutti i nomi di file nella cartella e nella 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, premere F5 chiave per eseguire questo codice e un file Macro si apre la finestra di dialogo, selezionare il file Elenco principale nome della macro, quindi fare clic su Correre pulsante, vedi screenshot:

uno screenshot dell'esecuzione del codice VBA

5. E nella Scopri la nostra gamma di prodotti finestra, seleziona la cartella in cui desideri elencare tutti i nomi di file comprese le sottocartelle, vedi screenshot:

uno screenshot della selezione della cartella in cui si desidera elencare tutti i nomi dei file comprese le sottocartelle

6. Dopo aver specificato la cartella, fare clic su OK pulsante e tutti i nomi di file nella cartella e le sue sottocartelle sono stati elencati nel foglio di lavoro corrente dalla cella A2, vedere screenshot:

uno screenshot della cartella selezionata
uno screenshot di una freccia
uno screenshot che elenca tutti i nomi di file dalla cartella selezionata e dalle sue sottocartelle

Elenca tutti i nomi di file nella cartella e nella sottocartella in modo rapido e semplice con Kutools per Excel

Con il codice sopra, puoi semplicemente elencare i nomi dei file, a volte, devi elencare altri attributi, come la dimensione del file, il tipo di file, l'ora di creazione, la cartella contenente e così via. Kutools for Excel contiene una funzione utile - Elenco nomi file, con questa funzione è possibile elencare rapidamente tutti o specifici tipi di nomi di file in una cartella e nelle sue sottocartelle.

Dopo download e installazione Kutools for Excel, eseguire i seguenti passaggi:

1. Clic Impresa > Importa ed esporta > Elenco nomi file, vedi screenshot:

uno screenshot per abilitare la funzione Elenco nomi file di Kutools

2. Nel Elenco nomi file finestra di dialogo, eseguire le seguenti operazioni:

A: Fare clic su uno screenshot dell'icona della cartellapulsante per scegliere la cartella in cui si desidera elencare i nomi dei file;

B: Specificare il tipo di file che si desidera elencare dal file Tipo di file sezione;

C: Selezionare un'unità di dimensione del file che si desidera visualizzare dal file Unità dimensione file .

Note:: Per elencare i nomi dei file dalla sottocartella, controllare Includi file nelle sottodirectory, puoi anche controllare il file Includi file e cartelle nascosti di cui hai bisogno. Se controlli Crea collegamenti ipertestuali opzione, creerà collegamenti ipertestuali per ogni nome di file e cartella.

uno screenshot della configurazione della finestra di dialogo Elenco nomi file

3. Quindi fare clic OK pulsante, tutti i file contenuti nella cartella selezionata e le sue sottocartelle sono stati visualizzati con i seguenti attributi in un nuovo foglio di lavoro. Vedi screenshot:

uno screenshot che elenca i dettagli dei file della cartella selezionata

Fare clic per conoscere ulteriori dettagli su questa utility Elenco nomi file.

Scarica e prova gratuitamente Kutools per Excel ora!


I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!