Ajuda do Collabora Office 24.04
Retorna o nome de um arquivo, de um diretório, ou de todos os arquivos e diretórios numa unidade ou num diretório que verifiquem o caminho de busca especificado.
Dir [(PathName As String [, Attributes As Integer])]
String
PathName: Qualquer expressão de string que especifique o caminho, diretório ou arquivo de pesquisa. Esse argumento só pode ser especificado na primeira vez que chamar a função Dir. Se desejar, você pode inserir o caminho em notação de URL.
Atributes: qualquer expressão inteira que especifica atributos de arquivo bit a bit. A função Dir retorna apenas arquivos ou diretórios que correspondem aos atributos especificados. Você pode combinar vários atributos adicionando os valores de atributo:
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 num diretório específico.
Para verificar se um arquivo existe, digite o caminho e o nome de arquivo completos. Se o nome do arquivo ou diretório não existir, a função Dir retornará uma cadeia de caracteres de comprimento zero ("").
Para gerar uma lista de todos os arquivos existentes em um diretório específico, siga estas instruções: Na primeira vez em que chamar a função Dir, especifique o caminho de pesquisa completo para os arquivos; por exemplo, "D:\Files\*.ods". Se o caminho estiver correto e a pesquisa localizar pelo menos um arquivo, a função Dir retornará o nome do primeiro arquivo que corresponda ao caminho de pesquisa. Para retornar nomes de arquivo adicionais que correspondam ao caminho, chame Dir novamente, mas sem argumentos.
Para retornar somente diretórios, use o parâmetro atributo. O mesmo se aplica se você deseja determinar o nome de um volume (por exemplo, uma partição de unidade de disco rígido)
Sub ExampleDir
' 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
' Obtém os diretórios
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End Sub