Sub SomeSub
GetTheFolderContents("C:\somefolder")
End Sub
Sub GetTheFolderContents(fldr As String)
LabelFolder.Text = fldr ' Show this folder
For Each x In File.ListFiles(fldr)
If File.IsDirectory(fldr, x) Then
GetTheFolderContents(File.Combine(fldr, x)) ' Found a subfolder; process it
LabelFolder.Text = fldr ' Show this folder again after returning from a subfolder
Else
fList.Add(File.Combine(fldr, x)) ' Found a file; add it to list 'fList'
End If
Next
End Sub