Originariamente inviato da scaram
Tutto fatto con CommonDialog come suggerito... Meno male mi serviva solo il file perche' il percorso nelle cartelle è un altro paio di maniche... Ho visto come si fa ed e' da infarto...

VVoVe:
Probabilmente hai visto la versione 'lunga' (che serve per fare il subclassing) ma ne esiste anche una molto corta così:
BROWSEFORFOLDER
codice:
Dim sMyDir As String
Dim sMsg as String
sMsg ="Seleziona la cartella"
Const ssfPERSONAL = 5
On Error Resume Next
sMyDir = CreateObject("Shell.Application").BrowseForFolder(0, "sMsg", 0, ssfPERSONAL).Self.Path
If sMyDir <> "" Then MsgBox "Hai selezionato la cartella: " & sMyDir
Ciao