Localizar carpetas y subcarpetas
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
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
