Microsoft Office Online
Iniciar sessão no Meu Office Online (O que é isto?) | Iniciar sessão

 
 
Microsoft Office Access
Procurar
Procurar
 
 
 
 
Aviso: está a visualizar esta página com um browser não suportado. Este Web site funciona melhor com o Microsoft Internet Explorer 6.0 ou posterior, o Firefox 1.5 ou o Netscape Navigator 8.0 ou posterior. Mais informações sobre browsers suportados.

Função Dir
 

Devolve uma Cadeia que representa o nome de um ficheiro, directório ou pasta que corresponde a um padrão ou atributo de ficheiro, ou o nome de volume de uma unidade.

Sintaxe

Dir[(nomecaminho [, atributos] )]

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


Definições

As definições do argumento (argumento: valor que fornece informações a uma acção, evento, método, propriedade, função ou procedimento.) atributos são:

Constante Valor Descrição
vbNormal 0 (Predefinido) Especifica ficheiros sem atributos.
vbReadOnly 1 Especifica ficheiros só de leitura, além de ficheiros sem atributos.
vbHidden 2 Especifica ficheiros ocultos, além de ficheiros sem atributos.
VbSystem 4 Especifica ficheiros de sistema, além de ficheiros sem atributos. Não disponível em Macintosh.
vbVolume 8 Especifica o nome de volume; se não for especificado outro atributo, vbVolume é ignorado. Não disponível em Macintosh.
vbDirectory 16 Especifica directórios ou pastas, além de ficheiros sem atributos.
vbAlias 64 O nome de ficheiro especificado é um nome alternativo. Apenas disponível em Macintosh.

 Nota    Estas constantes são especificadas pelo Visual Basic for Applications (VBA) e podem ser utilizadas em qualquer parte do código em vez dos valores reais.

Observações

No Microsoft Windows, a função Dir suporta a utilização de caracteres universais de vários caracteres (*) e do carácter individual (?) para especificar vários ficheiros. Em Macintosh, estes caracteres são processados como caracteres válidos de nome de ficheiro e não podem ser utilizados como caracteres universais para especificar vários ficheiros.

Uma vez que o Macintosh não suporta caracteres 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 nomes de ficheiros. Por exemplo, a seguinte instrução devolve o nome do primeiro ficheiro de TEXTO na pasta actual:

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

		

Para iterar em todos os ficheiros numa pasta, especifique uma cadeia vazia:

Dir("")

		

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

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

Tem de especificar o nomecaminho da primeira vez que chamar a função Dir para que não ocorram erros. Se também especificar atributos do ficheiro, o nomecaminho tem de ser incluído.

A função Dir devolve o nome do primeiro ficheiro que corresponde ao nomecaminho. Para obter nomes de ficheiros adicionais que correspondam ao nomecaminho, chame novamente a função Dir sem argumentos. Quando mais nenhum nome de ficheiro corresponder, a função Dir devolve uma cadeia de comprimento zero (""). Quando for devolvida uma cadeia de comprimento zero, terá de especificar o nomecaminho nas chamadas subsequentes ou ocorrerá um erro. Pode alternar para um novo nomecaminho sem obter todos nomes de ficheiros que correspondam ao nomecaminho actual. No entanto, não poderá chamar recursivamente a função Dir. Chamar a função Dir com o atributo vbDirectory não devolve subdirectórios continuamente.

Sugestão   Uma vez que os nomes de ficheiros são obtidos sem nenhuma ordem específica, poderá armazenar os nomes dos ficheiros devolvidos numa matriz (matriz: variável que contém um número finito de elementos com um nome e um tipo de dados comuns. Cada elemento de uma matriz é identificado por um número de índice exclusivo. As alterações efectuadas num elemento de uma matriz não afectam os outros elementos.) e, em seguida, ordenar a matriz.

Exemplo

 Nota   Os exemplos que se seguem demonstram a utilização desta função num módulo do Visual Basic for Applications (VBA). Para mais informações sobre como trabalhar com VBA, seleccione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de procura.

Este exemplo utiliza a função Dir para verificar se determinados ficheiros e directórios existem. Em Macintosh, “HD:” é o nome da unidade predefinida e as partes do nomecaminho são separadas por dois pontos em vez de barras invertidas. Os caracteres universais do Windows são processados como caracteres válidos de nome de ficheiro em Macintosh. No entanto, pode utilizar a função MacID para especificar 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

		

anúncio