Dir (función)

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Nota: La función, el método, el objeto o la propiedad descritas en este tema se desactiva si se está ejecutando el servicio de expresión Microsoft Jet en modo de recinto de seguridad, lo que evita la evaluación de expresiones potencialmente no seguras. Para obtener más información sobre el modo de recinto de seguridad, busque "modo de recinto de seguridad" en la Ayuda.

Devuelve una cadena que representa el nombre de archivo, directorio o carpeta que coincide con un modelo especificado o atributo de archivo o la etiqueta de volumen de una unidad.

Sintaxis

Dir [(ruta de acceso [atributos] )]

La sintaxis de la función Dir tiene los siguientes argumentos:

Argumento

Descripción

ruta de acceso

Opcional. Expresión de cadena que especifica un nombre de archivo, puede incluir el directorio o carpeta y la unidad. Una cadena de longitud cero ("") se devolverá si la ruta de acceso no se encuentra.

atributos

Opcional. Constante o expresión numérica, cuya suma especifica los atributos de archivo. Si se omite, devuelve archivos que coinciden con la ruta de acceso pero sin atributos.


Configuración

Los valores de atributosargumento son:

Constante

Valor

Descripción

vbNormal

0

(Predeterminado) Especifica archivos sin atributos.

vbReadOnly

1

Especifica archivos de sólo lectura, además de los archivos sin atributos.

vbHidden

2

Especifica los archivos ocultos además de los archivos sin atributos.

VbSystem

4

Especifica los archivos de sistema además de archivos sin atributos. No está disponible en Macintosh.

vbVolume

8

Especifica la etiqueta de volumen. Si se especifica algún otro atributo, se omite vbVolume . No está disponible en Macintosh.

vbDirectory

16

Especifica directorios o carpetas, además de los archivos sin atributos.

vbAlias

64

Nombre de archivo especificado es un alias. Disponible sólo en Macintosh.


Nota: Estas constantes especifican Visual Basic para aplicaciones (VBA) y pueden utilizarse en cualquier lugar del código en lugar de los valores reales.

Observaciones

En Microsoft Windows, Dir admite el uso de varios caracteres (*) y comodines de carácter (?) para especificar varios archivos. En Macintosh, estos caracteres se tratan como caracteres de nombre de archivo válido y no se pueden usar como caracteres comodín para especificar varios archivos.

Dado que Macintosh no admite los caracteres comodín, utilice el tipo de archivo para identificar grupos de archivos. Puede usar la función MacID para especificar el tipo de archivo en lugar de usar los nombres de archivo. Por ejemplo, la siguiente instrucción devuelve el nombre del primer archivo de texto en la carpeta actual:

Dir("SomePath", MacID("TEXT"))

Para recorrer todos los archivos en una carpeta, especifique una cadena vacía:

Dir("")

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

Cualquier valor de atributos mayor de 256 se considera un valor de MacID .

Debe especificar ruta de acceso de la primera vez que se llama a la función Dir o se produce un error. Si también especifica atributos de archivo, la ruta de acceso debe incluir.

Dir devuelve el primer nombre de archivo que coincida con la ruta de acceso. Para obtener los nombres de archivo adicionales que coincidan con la ruta de acceso, vuelve a llamar Dir sin argumentos. Si coincide con no más nombres de archivo, Dir devuelve una cadena de longitud cero (""). Una vez que se devuelve una cadena de longitud cero, debe especificar la ruta de acceso en llamadas posteriores o se produce un error. Puede cambiar a un nuevo nombre de ruta sin recuperar todos los nombres de archivo que coinciden con la ruta de accesode la actual. Sin embargo, no puede llamar a la función Dir repetidamente. Llamar a Dir con el atributo vbDirectory no devuelve subdirectorios continuamente.

Sugerencia     Como los nombres de archivo se recuperan en ningún orden determinado, desea almacenar los nombres de archivo devueltos en una matriz y, a continuación, ordene la matriz.

Ejemplo

Nota: Los ejemplos siguientes muestran el uso de esta función en un Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione la Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o varios términos en el cuadro de búsqueda.

Este ejemplo usa la función Dir para comprobar si existen determinados archivos y directorios. En Macintosh, "HD:" es el nombre de unidad predeterminado y partes de la ruta de acceso están separadas por coma. Además, los caracteres comodín de Windows se tratan como caracteres válidos de nombre de archivo en Macintosh. Sin embargo, puede usar la función MacID para especificar grupos de archivos.

Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")
' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the
' same directory.
MyFile = Dir
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Display entry only if it
End If ' it represents a directory.
End If
MyName = Dir ' Get next entry.
Loop

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×