Contenido
- 1 Sintaxis básica
- 2 Ejemplo para listar todos los archivos de un directorio
- 3 Ejemplo para comprobar si existe un archivo específico
- 4 Buscar archivos con ciertas extensiones
- 5 Conoce nuestra tienda
- 6 Mejora tu nivel y logra tus objetivo
- 7 Ayúdanos a hacer crecer el proyecto
- 8 ¡Únete a nuestro Grupo de Facebook!
La función Dir en VBA se utiliza para obtener el nombre de un archivo o carpeta que coincida con un patrón especificado. Puede ser útil para recorrer todos los archivos de un directorio, buscar si existe un archivo o listar archivos que coincidan con ciertos criterios.
Sintaxis básica
VB
Dim nombreArchivo As String
nombreArchivo = Dir(PathName, Attributes)
- PathName: Específica la ruta y el tipo de archivo que estás buscando, incluye comodines si es necesario (por ejemplo, *.txt para todos los archivos de texto).
- Attributes: Un atributo opcional que especifica tipos de archivos o carpetas diferentes, como archivos de sólo lectura, ocultos, etc. Si no se especifica, se buscan archivos normales por defecto.
Ejemplo para listar todos los archivos de un directorio
VB
Sub ListarArchivos()
Dim ruta As String
Dim nombreArchivo As String
ruta = "C:\MiCarpeta\" ' Cambia esto por la ruta de la carpeta que deseas explorar.
nombreArchivo = Dir(ruta & "*", vbNormal) ' Lista solo archivos normales, ignora ocultos y de sistema.
While nombreArchivo <> ""
Debug.Print nombreArchivo ' Muestra el nombre del archivo en la ventana Inmediato.
nombreArchivo = Dir() ' Llama a Dir nuevamente sin argumentos para obtener el siguiente archivo.
Wend
End Sub
Este script imprimirá los nombres de todos los archivos que se encuentran en C:\MiCarpeta\.
Ejemplo para comprobar si existe un archivo específico
VB
Sub ComprobarExistenciaArchivo()
Dim nombreArchivo As String
nombreArchivo = "C:\MiCarpeta\archivo.txt" ' Cambia esto por la ruta y el nombre del archivo a comprobar.
If Dir(nombreArchivo) <> "" Then
MsgBox "El archivo existe."
Else
MsgBox "El archivo no existe."
End If
End Sub
Buscar archivos con ciertas extensiones
VB
Sub BuscarExtensiones()
Dim nombreArchivo As String
Dim ruta As String
ruta = "C:\MiCarpeta\" ' Cambia esto por la ruta de la carpeta que deseas explorar.
nombreArchivo = Dir(ruta & "*.txt") ' Busca todos los archivos .txt en la carpeta.
While nombreArchivo <> ""
Debug.Print nombreArchivo
nombreArchivo = Dir() ' Continúa buscando el siguiente archivo .txt.
Wend
End Sub
Estos son solo algunos ejemplos del uso de la función Dir en VBA, pero es bastante versátil y se puede adaptar a muchos otros casos según tus necesidades. Asegúrate de utilizar los comodines (* para cualquier secuencia de caracteres o ? para un único carácter) adecuadamente al especificar el PathName.