Função Dir

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Nota: A função, método, objeto ou propriedade descritas neste tópico é desativada se o serviço do Microsoft Jet expressão estiver em execução no modo sandbox, que impede a avaliação de expressões potencialmente inseguros. Para obter mais informações sobre o modo sandbox, procure "o modo sandbox" na ajuda.

Devolve uma cadeia que representa o nome de um ficheiro, diretório ou pasta que corresponde ao atributo de ficheiro ou um padrão específico ou o nome de uma unidade de volume.

Sintaxe

Dir [(nome do caminho [atributos] )]

A sintaxe da função Dir tem os seguintes argumentos:

Argumento

Descrição

nome do caminho

Opcional. Expressão de cadeia que especifica um nome de ficheiro — pode incluir diretório ou pasta e a unidade. Uma cadeia de comprimento zero ("") é devolvido se o nome do caminho não for encontrado.

atributos

Opcional. Constante ou expressão numérica, cuja soma especifica os atributos do ficheiro. Se for omitido, devolve ficheiros que corresponde ao nome do caminho mas sem atributos.


Definições

As definições deargumentoatributossão:

Constante

Valor

Descrição

vbNormal

0

(Predefinição) Especifica ficheiros sem atributos.

vbReadOnly

1

Especifica ficheiros só de leitura para além de ficheiros com sem atributos.

vbHidden

2

Especifica os ficheiros ocultos para além de ficheiros com sem atributos.

VbSystem

4

Especifica os ficheiros do sistema para além de ficheiros com sem atributos. Não está disponível no Macintosh.

vbVolume

8

Especifica o nome do volume; Se não for especificado qualquer outro atribuídos, é ignorado vbVolume . Não está disponível no Macintosh.

vbDirectory

16

Especifica directórios ou pastas, para além de ficheiros com sem atributos.

vbAlias

64

Nome de ficheiro especificado é um alias. Apenas disponível em Macintosh.


Nota: As constantes são especificadas pelo Visual Basic for Applications (VBA) e podem ser utilizadas em qualquer lugar no seu código em vez dos valores reais.

Comentários

No Microsoft Windows, Dir suporta a utilização de múltiplos carateres (*) e carateres universais de caráter individual (?) para especificar vários ficheiros. No Macintosh, estes carateres são tratados como carateres no nome de ficheiro válido e não podem ser utilizados como carateres universais para especificar vários ficheiros.

Uma vez que Macintosh não suporta os carateres universais, utilize o tipo de ficheiro para identificar grupos de ficheiros. Pode utilizar a função MacID para especificar o tipo de ficheiro em vez de utilizar os nomes de ficheiro. Por exemplo, a seguinte instrução devolve o nome do ficheiro de texto primeiro na pasta atual:

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

Para iteramos sobre todos os ficheiros numa pasta, especifique uma cadeia vazia:

Dir("")

Se utilizar a função MacID com Dir no Windows, ocorre um erro.

Qualquer valor de atributos maior que 256 é considerado um valor de MacID .

Tem de especificar nome do caminho pela primeira vez ligar para a função Dir ou ocorre um erro. Se também especificar atributos de ficheiro, o nome do caminho devem ser incluídos.

Dir devolve o primeiro nome de ficheiro que corresponde ao nome do caminho. Para obter qualquer nomes de ficheiro adicionais que correspondam ao nome do caminho, ligar novamente Dir sem argumentos. Quando correspondem a mais nomes de ficheiros, Dir devolve uma cadeia de comprimento zero (""). Quando é devolvida uma cadeia de comprimento zero, tem de especificar nome do caminho em chamadas subsequentes ou ocorre um erro. Pode alterar para um novo nome do caminho sem obter todos os nomes de ficheiro que correspondam ao nome do caminhoatual. No entanto, não é possível ligar o modo de recursivo de função Dir . Chamar Dir com o atributo vbDirectory não devolver continuamente seus subdiretórios.

Sugestão:     Uma vez que são obtidos os nomes de ficheiro nenhuma ordem particular, poderá querer armazenar nomes de ficheiros devolvidos numa matriz e, em seguida, ordene a matriz.

Exemplo

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função Dir para verificar se existem alguns ficheiros e directórios. No Macintosh, "HD:" é o nome da unidade predefinida e partes do nome do caminho são separadas por dois pontos em vez de barras invertidas. Além disso, os carateres universais do Windows são tratados como carateres válidos do nome do ficheiro no Macintosh. No entanto, pode utilizar a função MacID para especificar os grupos de ficheiros.

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
Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×