IBM Lotus Symphony
|
Devuelve el nombre de un archivo, un directorio o todos los archivos y directorios de una unidad o de un directorio que coincida con la vía de acceso de búsqueda especificada.
Dir [(Text As String) [, Attrib As Integer]]
Cadena
Text: cualquier expresión de cadena que especifique la vía de acceso, el directorio o el archivo de búsqueda. Este argumento sólo se puede especificar la primera vez que se llama a la función Dir. Si lo desea, puede especificar la vía de acceso en notación de URL.
Attrib: cualquier expresión de entero que especifique atributos de archivo bit a bit. La función Dir sólo devuelve archivos o directorios que coinciden con los atributos especificados. Puede combinar varios atributos agregando los valores de atributo:
0: archivos normales
16: sólo devuelve el nombre del directorio.
Utilice este atributo para comprobar si existe un archivo o un directorio o para determinar todos los archivos y directorios de un directorio específico.
Para comprobar si un archivo existe, especifique la vía de acceso y el nombre completo del archivo. Si el nombre del archivo o el directorio no existe, la función Dir devuelve una cadena de longitud cero ("").
Para generar una lista de todos los archivos existentes de un directorio específico, haga lo siguiente: la primera vez que llame a la función Dir, especifique la vía de acceso de búsqueda completa de los archivos, por ejemplo "D:\Files\*.sxw". Si la vía de acceso es correcta y se busca, como mínimo, un archivo, la función Dir devuelve el nombre del primer archivo que coincide con la vía de acceso de búsqueda. Para devolver nombres de archivo adicionales que coincidan con la vía de acceso, vuelva a llamar a Dir, pero sin argumentos.
Para devolver sólo directorios, utilice el parámetro de atributo. Se aplica lo mismo si desea determinar el nombre de un volumen (por ejemplo, una partición de unidad de disco duro).
Sub ExampleDir
REM Muestra todos los archivos y directorios
Dim sVíaAcceso As String
Dim sDir as String, sValue as String
sDir="Directorios:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM Obtener los directorios
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub