Come utilizzare Excel FileDialog ottenere l'elenco dei file in una directory

February 23

Come utilizzare Excel FileDialog ottenere l'elenco dei file in una directory


Microsoft Excel non è solo di dati tabulari, calcoli e la gestione delle informazioni. Ogni utente appassionato può trasformare Excel in un potente strumento per la gestione delle cartelle, organizzare i file e tenere traccia delle attività. È possibile creare una macro che utilizza un oggetto FileDialog VBA per eseguire la scansione in modo rapido una directory ed elencare il suo contenuto in un foglio di calcolo. Al momento dell'esecuzione, questa macro verrà richiesto agli utenti di scegliere una cartella, e sarà poi elencare i nomi dei suoi contenuti in una singola colonna.

istruzione

Creazione della Macro

1 Avviare Microsoft Excel. Premere il tasto "CTRL + O", selezionare la cartella di lavoro e quindi fare clic su "Apri". Per creare una nuova cartella di lavoro, invece, premere "Ctrl + N".

2 Premere il tasto "ALT + F8" per aprire la finestra di dialogo Macro. Digitare "GetFolderContents" nella casella Nome Macro e quindi fare clic su "Crea".

3 Immettere il seguente codice nell'editor di VBA.

GetFolderContents sub ()

Dim xDir, xFilename, f, UST As Object

Set fso = CreateObject ( "Scripting.FileSystemObject")

Con Application.FileDialog (msoFileDialogFolderPicker)

.InitialFileName = ThisWorkbook.Path & "\"

.title = "Selezionare una cartella per elencare i file da"

.AllowMultiSelect = False

.Mostrare

Se .SelectedItems.Count <> 0 Then

xDir = .SelectedItems(1) & "\"

Finisci se

End With

Se (MsgBox (Prompt: = "? Vuoi includere i nomi delle sottocartelle", _

Pulsanti: = vbYesNo, Titolo: = "Includi sottocartelle") = vbYes) Poi

GoTo ListFolders

GoTo ListFiles

Altro

GoTo ListFiles

Finisci se

ListFolders:

For Each f In fso.GetFolder(xDir).SubFolders

ActiveCell.Value = ".. \" & f.Name

ActiveCell.Offset (1, 0) .Select

Successivo F

ListFiles:

For Each f In fso.GetFolder(xDir).Files

ActiveCell.Value = f.Name

ActiveCell.Offset (1, 0) .Select

Successivo F

Set fso = Nothing

End Sub

4 Premere il tasto "ALT + Q" per chiudere l'editor VBA e tornare alla cartella di lavoro.

Utilizzando la macro

5 Evidenziare una cella nel foglio. Premere il tasto "ALT + I" e poi "C" per creare una colonna vuota. Selezionare la prima cella nella nuova colonna. Se desideri visualizzare l'elenco in un nuovo foglio di lavoro, invece, premere il tasto "SHIFT + F11."

6 Premere il tasto "ALT + F8" per aprire la finestra di dialogo Macro. Seleziona "GetFolderContents" e quindi fare clic su "Esegui".

7 Selezionare la cartella o directory da cui si desidera elencare il contenuto. Fare clic su "OK".

8 Clicca su "Sì" se si desidera la macro per elencare anche i nomi dei sotto-cartelle, oppure fare clic su "No" per elencare solo i file. Attendere per Excel per completare la compilazione della nuova colonna con il contenuto della cartella selezionata.

Consigli e avvertenze

  • Per impostazione predefinita, le macro sono disattivate in Microsoft Excel. Per consentire loro, fare clic sul pulsante Microsoft Office e poi andare a "Opzioni di Excel." Assicurarsi che "Mostra scheda Sviluppo" è selezionata. Vai a "Centro protezione" e poi cliccare su "Impostazioni Centro." Vai a "Impostazioni macro" e quindi scegliere "Attiva tutte le macro". Fai clic su "OK" su entrambe le finestre, salvare qualsiasi cartella aperta e quindi riavviare Excel.