IBM Lotus Symphony
|
Retorna o nome de um arquivo, um diretório ou todos os arquivos e os diretórios em uma unidade ou em um diretório que correspondem ao caminho da pesquisa especificado.
Dir [(Text As String) [, Attrib As Integer]]
Sequência
Text: Qualquer expressão de sequência que especifique o caminho da pesquisa, diretório ou arquivo. Este argumento pode ser especificado apenas na primeira vez que você chamar a função Dir. Se desejar, é possível inserir o caminho em notação URL .
Attrib: Qualquer expressão de números inteiros que especifique atributos de arquivo bit a bit. A função Dir retorna apenas arquivos ou diretórios que correspondem aos atributos especificados. É possível combinar vários atributos, adicionando os valores de atributos:
0 : Arquivos normais.
16 : Retorna apenas o nome do diretório.
Use este atributo para verificar se um arquivo ou diretório existe, ou para determinar todos os arquivos e pastas em um diretório específico.
Para verificar se um arquivo existe, insira o caminho completo e nome do arquivo. Se o nome do arquivo ou do diretório não existir, a função Dir retornará uma sequência de comprimento zero ("").
Para gerar uma lista de todos os arquivos existentes em um diretório específico, proceda da seguinte forma: A primeira vez que chamar a função Dir, especifique o caminho da pesquisa completo para os arquivos, por exemplo, "D:\Files\*.sxw". Se o caminho estiver correto e a pesquisa localizar localizar pelo menos um arquivo, a função Dir retornará o nome do primeiro arquivo correspondente ao caminho da pesquisa. Para retornar nomes de arquivos adicionais correspondentes ao caminho, chame Dir novamente, mas sem argumentos.
Para retornar apenas diretórios, use o parâmetro de atributos. O mesmo se aplicará se você desejar determinar o nome de um volume (por exemplo, uma partição da unidade de disco rígido)
Sub ExampleDir
REM Exibe todos os arquivos e diretórios
Dim sPath As String
Dim sDir as String, sValue as String
sDir="Diretórios:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM obter os diretórios
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub