Dir Funksjon

Innhold
Innholdsliste 🔎︎

# Dir Function

Returnerer navnet på en fil, en katalog eller alle filene og katalogene på en stasjon eller i en katalog som samsvarer med den angitte søkebanen.

### Syntaks:

    Dir [(Text As String [, Attrib As Integer])]

## Returverdi

Streng

### Parametre:

Text: Any string expression that specifies the search path, directory or file. This argument can only be specified the first time that you call the Dir function. If you want, you can enter the path in URL notation.

Attrib: Alle heltallsuttrykk som spesifiserer bitvise filattributter. Dir-funksjonen returnerer bare filer eller kataloger som samsvarer med de angitte attributtene. Du kan kombinere flere attributter ved å legge til attributtverdiene:

0 : Normale filer.

16 : Returnerer kun navnet på katalogen.

Bruk dette attributtet for å sjekke om en fil eller katalog finnes, eller for å finne alle filer og mapper i en bestemt katalog.

For å sjekke om en fil eksisterer, skriv inn hele banen og navnet på filen. Hvis fil- eller katalognavnet ikke eksisterer, returnerer Dir-funksjonen en null-lengde streng ("").

For å generere en liste over alle eksisterende filer i en bestemt katalog, fortsett som følger: Første gang du kaller opp Dir-funksjonen, spesifiser hele søkebanen for filene, for eksempel "D:\Files\*.ods". Hvis banen er riktig og søket finner minst én fil, returnerer Dir-funksjonen navnet på den første filen som samsvarer med søkebanen. For å returnere flere filnavn som samsvarer med banen, ring Dir igjen, men uten argumenter.

For kun å returnere kataloger, bruk attributtparameteren. Det samme gjelder hvis du vil bestemme navnet på et volum (for eksempel en harddiskpartisjon).

### Feilkoder

5 Ugyldig prosedyreoppkall

53 Fant ikke filen

### Eksempel:

    Sub ExampleDir
    ' Viser alle filer og kataloger
    Dim sPath As String
    Dim sDir As String, sValue As String
        sDir="Kataloger:"
        sPath = CurDir
        sValue = Dir$(sPath + getPathSeparator + "*",16)
        Do
            If sValue <> "." And sValue <> ".." Then
                If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                    'Hent katalogene
                    sDir = sDir & chr(13) & sValue
                End If
            End If
            sValue = Dir$
        Loop Until sValue = ""
        MsgBox sDir,0,sPath
    End Sub

Lignende emner

CurDir Funksjon