Encontrar un directorio y subdirectorios utilizando Visual Basic para Aplicaciones ( VBA ), no es tan complicado como usted puede pensar. En VBA , puede utilizar la función de " Dir" para obtener los nombres de directorio en un camino. Una vez que haya encontrado el directorio que está buscando , puede utilizar la ruta del directorio para encontrar subdirectorios. Este proceso es útil cuando se necesita para guardar un archivo en un directorio en particular , pero no tienen la ruta completa para ello. Cosas que necesitará
Microsoft Office Excel
Ver Más instrucciones
1
lanzamiento de Microsoft Office Excel , haga clic en la pestaña de " desarrolladores" y haga clic en "Visual Basic ". Haga clic en el menú " Insertar" y haga clic en " módulos" para insertar un nuevo módulo de código
2
Escriba lo siguiente para crear un nuevo procedimiento sub : .
FindDirectories Private Sub ( )
Página 3
Agregue el código siguiente para crear tres variables que utilizará para encontrar el directorio de interés :
startPath dévil como secuencia
minombre Dim As String
dirFound Dim As Boolean
4
Defina la unidad en la que desea buscar en el directorio y obtener el primer directorio :
startPath = "C : \\ "
minombre = Dir ( startPath , vbDirectory )
5
Crear un bucle while , buscar en cada directorio "C: \\ " hasta que se haya encontrado la carpeta " temp" , y llame los " getSubDirectories " procedimiento Sub para obtener todos los subdirectorios que se encuentran en el directorio "Temp" :
hacer mientras dirFound = False
Si minombre < > ". " Y minombre < > ".." Entonces
Si ( GetAttr ( startPath y minombre ) Y vbDirectory ) = vbDirectory Entonces
Si minombre = " Temp" Entonces
dirFound = True
Call getSubDirectories ( startPath y minombre y "\\ " )
End If
End If End If
Si ( dirFound = False ) Entonces
minombre = Dir
End If
Loop End Sub
6
Copia y pega el código siguiente para crear los " getSubDirectories " procedimiento sub y mostrar todos los subdirectorios que se encuentran en el " " directorio temporal utilizando la ventana Inmediato:
getSubDirectories Private Sub ( startPath As String )
myname As
secuencia
minombre = Dir ( startPath , vbDirectory )
hacer mientras minombre < > ""
Si minombre < > ". " Y minombre < > ".." Entonces
Si ( GetAttr ( startPath y minombre ) Y vbDirectory ) = vbDirectory Entonces
Debug.Print minombre
End If End If
minombre = Dir
Loop End Sub
7
Presione " Ctrl" y " G" para abrir la ventana Inmediato. Haz clic en el interior " findDirectories " y presione "F5 " para ejecutar el programa.