Dir (Función)

Visual Basic VBLR

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. No está disponible en Macintosh.
vbVolume 8 Especifica la etiqueta del volumen; si se especifica cualquier otro atributo, se ignora vbVolume. No está disponible en Macintosh.
vbDirectory 16 Especifica directorios o carpetas además de archivos sin atributos.
vbAlias 64 Especifica que el nombre del archivo es un alias. Sólo está disponible en Macintosh.

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, en Microsoft Windows, permite el empleo de los caracteres comodín '*' (múltiples caracteres) y '?' (un solo carácter) para especificar varios archivos. En Macintosh, estos caracteres son tratados como caracteres de nombre de archivo válidos y no se pueden utilizar como comodines para especificar múltiples archivo.

Puesto que Macintosh no admite los comodines, utilice el tipo de archivo para identificar grupos de archivos. Puede utilizar la función MacID para especificar el tipo de archivo en lugar de utilizar los nombres de archivo. Por ejemplo, La siguiente instrucción devuelve el nombre del primer archivo de TEXTO en la carpeta actual:

Dir("AlgunaRuta", MacID("TEXT"))

Para pasar por todos los archivos de una carpeta, especifique una cadena vacía:

Dir("")

Si utiliza la función MacID con Dir en Microsoft Windows, se produce un error.

Cualquier valor de atributo mayor de 256 es considerado un valor MacID.

La primera vez que se llama a la función Dir se debe especificar el nombre_ruta, de lo contrario se producirá un error. Si además especifica los atributos de archivo, deberá incluir el nombre_ruta.

La función Dir devuelve el primer nombre de archivo que coincide con nombre_ruta. Para obtener más nombres de archivo que coincidan con nombre_ruta, deberá volver a llamar a la función Dir sin argumentos. Cuando no hay más nombres de archivo coincidentes, la función Dir devuelve una cadena de caracteres de longitud cero. Cuando se devuelve una cadena de longitud cero, en las siguientes llamadas deberá especificar nombre_ruta o se producirá un error. Puede cambiar nombre_ruta sin haber obtenido todos los nombres de archivo que coinciden con el argumento nombre_ruta actual. Sin embargo, no se puede llamar a la función Dir recursivamente. Llamar a la función Dir con el atributo vbDirectory no devuelve continuamente subdirectorios.

Sugerencia   Dado que los nombres de archivo se extraen sin ningún orden específico, es conveniente guardar los nombres devueltos en una matriz y luego ordenarla de la manera deseada.