Descrição Dir
Retorna o primeiro nome de arquivo que corresponde ao nome do caminho e aos atributos especificados.
Exemplos Simples de Dir
1 | MsgBox Dir ("") |
Isso retornará o primeiro nome de arquivo no caminho atual.
Sintaxe de Dir
No Editor VBA, você pode digitar “Dir (” para ver a sintaxe da Função Dir:
A função Dir contém 2 argumentos:
PathName: [Opcional] Uma expressão de string que representa um diretório / pasta / unidade.
Atributo: [Opcional] Especifica os atributos do arquivo. Se omitido, retorna arquivos que correspondem ao nome do caminho, mas não têm atributos.
o Atributo configurações de argumento são:
Constante | Valor | Descrição |
---|---|---|
vbNormal | 0 | (Padrão) Especifica arquivos sem atributos. |
vbReadOnly | 1 | Especifica arquivos somente leitura, além de arquivos sem atributos. |
vbHidden | 2 | Especifica arquivos ocultos, além de arquivos sem atributos. |
vbSystem | 4 | Especifica arquivos de sistema, além de arquivos sem atributos. Não disponível no Macintosh. |
vbVolume | 8 | Especifica o rótulo do volume; se qualquer outro atributo for especificado,vbVolume é ignorado. Não disponível no Macintosh. |
vbDirectory | 16 | Especifica diretórios ou pastas, além de arquivos sem atributos. |
vbAlias | 64 | O nome do arquivo especificado é um alias. Disponível apenas no Macintosh. |
Programação VBA | O Code Generator funciona para você!
Exemplos de função Excel VBA Dir
Para listar as pastas e arquivos na unidade C, você pode usar o código a seguir.
123456789101112131415161718192021222324 | Subdir_Exemplo ()Dim fileName As StringDim fullName As StringDim rng como alcanceDim i As IntegerDefinir rng = intervalo ("A1")fileName = Dir ("C: \", vbDirectory)i = 1FazerfullName = "C: \" & fileNamerng.Offset (i, 0) = nome do arquivorng.Offset (i, 1) = FileDateTime (fullName)rng.Offset (i, 2) = FileLen (fullName)rng.Offset (i, 3) = GetAttr (fullName)fileName = DirIf fileName = "" Then Exit Doi = i + 1CicloEnd Sub |
O resultado será semelhante ao seguinte.
Função VBA Dir no Access VBA
A função VBA Dir funciona no Access VBA da mesma maneira que no Excel VBA.
123456789 | Função CreateDirectory (strP As String) As BooleanSe Len (Dir (strP, vbDirectory)) = 0 ThenMkDir strPFim seCreateDirectory = TrueFunção de saídafinal:CreateDirectory = FalseFunção Final |