Dir, funksjon

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Obs!

Funksjonen, metoden, objektet eller egenskapen som er beskrevet i dette emnet, er deaktivert hvis Microsoft Jet Expression-tjenesten kjører i sandkassemodus, noe som forhindrer evaluering av potensielt usikre uttrykk. Hvis du vil ha mer informasjon om sandkassemodus, kan du søke etter «sandkassemodus» i hjelpen.

Returnerer en streng som representerer navnet på en fil, en katalog eller en mappe som samsvarer med et angitt mønster eller filattributt, eller volumetiketten til en stasjon.

Syntaks

Dir[(banenavn [, attributter] )]

Syntaksen for funksjonen Dir har disse argumentene:

Argumenter Beskrivelse
banenavn Valgfritt. Strenguttrykk som angir et filnavn – kan inneholde katalog eller mappe og stasjon. En tom streng ("") returneres hvis banenavnet ikke blir funnet.
attributter Valgfritt. Konstant eller numerisk uttrykk der summen spesifiserer filattributter. Hvis den utelates, returneres filer som samsvarer med banenavnet , men som ikke har noen attributter.

    

Innstillinger

Innstillingene for attributtargumenteter:

Konstant Verdi Beskrivelse
vbNormal 0 (Standard) Angir filer uten attributter.
vbReadOnly 1 Angir skrivebeskyttede filer i tillegg til filer uten attributter.
vbHidden 2 Angir skjulte filer i tillegg til filer uten attributter.
VbSystem 4 Angir systemfiler i tillegg til filer uten attributter. Ikke tilgjengelig på Macintosh.
vbVolume 8 Angir volumetikett; Hvis andre attributter er angitt, ignoreres vbVolume . Ikke tilgjengelig på Macintosh.
vbDirectory 16 Angir mapper eller mapper i tillegg til filer uten attributter.
vbAlias 64 Det angitte filnavnet er et alias. Bare tilgjengelig på Macintosh.

    

Obs!

Disse konstantene er angitt av Visual Basic for Applications (VBA), og kan brukes hvor som helst i koden i stedet for de faktiske verdiene.

Merknader

I Microsoft Windows støtter Dir bruk av jokertegn med flere tegn (*) og enkelttegn (?) for å angi flere filer. På Macintosh blir disse tegnene behandlet som gyldige filnavntegn og kan ikke brukes som jokertegn for å angi flere filer.

Siden Macintosh ikke støtter jokertegn, kan du bruke filtypen til å identifisere grupper av filer. Du kan bruke MacID-funksjonen til å angi filtype i stedet for å bruke filnavnene. Følgende setning returnerer for eksempel navnet på den første TEXT-filen i gjeldende mappe:

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

Hvis du vil gjenta over alle filene i en mappe, angir du en tom streng:

Dir("")

Hvis du bruker MacID-funksjonen med Dir i Windows, oppstår det en feil.

Alle attributtverdier større enn 256 betraktes som en MacID-verdi .

Du må angi banenavn første gang du anroper Dir-funksjonen , ellers oppstår det en feil. Hvis du også angir filattributter, må banenavnet inkluderes.

Dir returnerer det første filnavnet som samsvarer med banenavnet. Hvis du vil ha flere filnavn som samsvarer med banenavnet, kan du kalle Dir på nytt uten argumenter. Når ingen flere filnavn samsvarer, returnerer Dir en tom streng (""). Når en tom streng returneres, må du angi banenavnet i påfølgende kall, ellers oppstår det en feil. Du kan endre til et nytt banenavn uten å hente alle filnavnene som samsvarer med det gjeldende banenavnet. Du kan imidlertid ikke kalle Dir-funksjonen rekursivt. Anrop av Dir med vbDirectory-attributtet returnerer ikke kontinuerlig underkataloger.

Tips Siden filnavn ikke hentes i noen bestemt rekkefølge, kan det være lurt å lagre returnerte filnavn i en matrise og deretter sortere matrisen.

Eksempel

Obs!

I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

Dette eksemplet bruker Dir-funksjonen til å kontrollere om det finnes bestemte filer og mapper. På Macintosh er «HD:» standard stasjonsnavn, og deler av banenavnet er atskilt med kolon i stedet for omvendte skråstreker. Windows-jokertegn behandles også som gyldige filnavntegn på Macintosh. Du kan imidlertid bruke MacID-funksjonen til å angi filgrupper.

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