prerequisiti
bisogna attivare tra i riferimenti "Micrisoft scritpting runtime"codice
Private Sub listaSubDir(ByVal dirIniziale As String, ByVal listaDestinazione As ListBox, ByVal togliInizio As Integer)Dim fso As New FileSystemObject
Dim Directory As Folder
Dim SubDirs As Folder
Set Directory = fso.GetFolder(dirIniziale)
For Each SubDirs In Directory.SubFolders
listaDestinazione.AddItem Mid(SubDirs.Path, togliInizio + 1), 0
listaSubDir dirIniziale & "\" & SubDirs.Name, listaDestinazione, togliInizio
Next
End Sub