Localizar carpetas y subcarpetas

Apunto
15 de Diciembre del 2003
Hola a todos, necesito localizar, dada una carpeta, el nombre completo de cada una de las subcarpetas que cuelguen de ella, incluidos todos los subniveles.

He utilizado una función de este tipo:

Private Sub LocalizarCarpetas(ByVal strCamino As String)
Dim strCarpeta As String

strCarpeta = Dir("strCamino", vbDirectory)
Do While strCarpeta <> ""
If strCarpeta <> "." And strCarpeta <> ".." Then
' Comprueba que es una carpeta y no un archivo
If (GetAttr(strCamino & strCarpeta) And vbDirectory) =
vbDirectory Then
LocalizarCarpetas (strCamino + strCarpeta + "")
End If
End If
strCarpeta = Dir()
Loop
End Sub

El problema es que cuando empieza a deshacer el camino en las llamadas recursivas, me da el siguiente error en la instrucción: strCarpeta = dir

Error 5: Llamada a procedimiento o argumento no válido

No sé por qué da este error, porque funciona cuando va recorriendo las carpetas y da error cuando regresa de la llamada recursiva.

¿podrían ayudarme?, ¿lo podría hacer de otra forma?...
Muchas gracias de antemano

virus b
15 de Diciembre del 2003
Hola:
Tengo un pequeño ejemplo hecho con el objecto FileSystemObject. Este me permite saber algo parecido a lo que estas buscando...
Si te interesa, mandame un mail y te envio el codigo de ejemplo.
Saludos
Pablo B