Dir (Función) Devuelve un tipo String que representa el nombre de un archivo, directorio o carpeta que coincide con el patrón o atributo de archivo especificado, o la etiqueta de volumen de una unidad de disco. Sintaxis Dir[(nombre_ruta[, atributos])] La sintaxis de la función Dir consta de las siguientes partes: Parte Descripción nombre_ruta Opcional. Expresión de cadena que especifica un nombre de archivo. Puede incluir el directorio o carpeta y la unidad de disco. Si no se encuentra nombre_ruta, devolverá una cadena de longitud cero (""). Atributos Opcional. Constante o expresión numérica, cuya suma especifica los atributos de archivo. Si se omite, devuelve los archivos que coinciden con nombre_ruta pero no tiene atributos. Valores Los valores del argumento atributos son los siguientes: Constante Valor Descripción vbNormal 0 (Predeterminado) Especifica archivos sin atributos. vbReadOnly 1 Especifica archivos de sólo lectura además de sin atributos. vbHidden 2 Especifica archivos ocultos además de sin atributos. VbSystem 4 Especifica archivos de sistema además de sin atributos. vbVolume 8 Especifica la etiqueta del volumen; si se especifica cualquier otro atributo, se ignora vbVolume. vbDirectory 16 Especifica directorios o carpetas además de archivos sin atributos. Nota Estas constantes están definidas en Visual Basic para Aplicaciones. Por ello, sus nombres se pueden utilizar en cualquier lugar del código sustituyendo al valor correspondiente. Comentarios La función Dir permite el empleo de los caracteres comodín '*' (múltiples caracteres) y '?' (un solo carácter) para especificar varios archivos. Ejemplo de la función Dir En este ejemplo se utiliza la función Dir para comprobar si existen ciertos archivos y directorios. Dim MiArchivo, MiRuta, MiNombre ' Devuelve "WIN.INI" si existe. MiArchivo = Dir("C:\WINDOWS\WIN.INI") ' devuelve el nombre de archivo con la extensión especificada. Si hay más de un *.ini ' el archivo existe, devuelve el primer archivo que se encuentra. MiArchivo = Dir("C:\WINDOWS\*.INI") ' Utiliza otra vez el comando Dir, sin argumentos, para devolver el ' siguiente archivo *.INI situado en el mismo directorio MiArchivo = Dir ' Devuelve el primer archivo *.TXT que tenga el atributo de oculto. MiArchivo = Dir("*.TXT", vbHidden) ' Muestra los nombres en C:\ que representan directorios. MiRuta = "c:\" ' Establece la ruta. MiNombre = Dir(MiRuta, vbDirectory) ' Recupera la primera entrada. Do While MiNombre <> "" ' Inicia el bucle. ' Ignora el directorio actual y el que lo abarca. If MiNombre <> "." And MiNombre <> ".." Then ' Realiza una comparación a nivel de bit para asegurarse de que MiNombre es un directorio. If (GetAttr(MiRuta & MiNombre) And vbDirectory) = vbDirectory Then Debug.Print MiNombre ' Muestra la entrada End If ' solamente si representa un directorio. End If MiNombre = Dir ' Obtiene siguiente entrada. Loop