Cómo encontrar un directorio y un subdirectorio en VBA

Escrito por jaime avelar | Traducido por juliana star
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo encontrar un directorio y un subdirectorio en VBA
Crea un procedimiento sub en Excel usando VBA. (Hemera Technologies/Photos.com/Getty Images)

Encontrar un directorio y subdirectorios usando Visual Basic para Aplicaciones (VBA) no es tan complicado como podrías pensar. En VBA puedes usar la función "Dir" para obtener los nombres de los directorios en una ruta. Una vez que hayas encontrado el directorio que estés buscando puedes usar la ruta del mismo para encontrar subdirectorios. Este proceso es útil cuando necesitas guardar un archivo en un directorio particular pero no tienes la ruta completa hacia él.

Nivel de dificultad:
Moderadamente fácil

Otras personas están leyendo

Necesitarás

  • Microsoft Office Excel

Lista completaMinimizar

Instrucciones

  1. 1

    Ejecuta Microsoft Office Excel, haz clic en la pestaña "Desarrollador" y haz clic en "Visual Basic". Selecciona el menú "Insertar" y haz clic en "Módulo" para insertar un nuevo módulo de código.

  2. 2

    Escribe lo siguiente para crear un nuevo procedimiento sub: Private Sub findDirectories()

  3. 3

    Agrega el siguiente código para crear tres variables que usarás para encontrar el directorio de interés:

    Dim startPath As String Dim myname As String Dim dirFound As Boolean

  4. 4

    Define la unidad en la que quieras buscar y obtén el primer directorio:

    startPath = "C:\" myname = Dir(startPath, vbDirectory)

  5. 5

    Crea un ciclo while, busca en cada directorio de "C:\" hasta que hayas encontrado el directorio "Temp" y luego invoca al procedimiento sub "getSubDirectories" para obtener todos los subdirectorios localizados en el directorio "Temp":

    Do While dirFound = False If myname <> "." And myname <> ".." Then If (GetAttr(startPath & myname) And vbDirectory) = vbDirectory Then If myname = "Temp" Then dirFound = True Call getSubDirectories(startPath & myname & "\") End If End If End If If (dirFound = False) Then myname = Dir End If Loop End Sub

  6. 6

    Copia y pega el siguiente código para crear el procedimiento sub "getSubDirectories" y muestra todos los subdirectorios localizados en "Temp" usando la ventana inmediata:

    Private Sub getSubDirectories(startPath As String)

    Dim myname As String

    myname = Dir(startPath, vbDirectory) Do While myname <> "" If myname <> "." And myname <> ".." Then If (GetAttr(startPath & myname) And vbDirectory) = vbDirectory Then Debug.Print myname End If End If myname = Dir Loop

    End Sub

  7. 7

    Presiona "Ctrl" y "G" para mostrar la ventana inmediata. Haz clic dentro de "findDirectories" y presiona "F5" para ejecutar el programa.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles