Funktionen Dir

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Bemærk: Den funktion, metode, objekt eller egenskab, der er beskrevet i dette emne er deaktiveret, hvis Microsoft Jet Expression Service kører i sandkassetilstand, hvilket forhindrer evaluering af potentielt usikre udtryk. Du kan finde flere oplysninger om sandkassetilstand, søge efter "sandkassetilstand" i Hjælp.

Returnerer en streng, der angiver navnet på en fil, et bibliotek eller en mappe, som svarer til en bestemt mønster- eller filattribut eller enhedsnavn til et drev.

Syntaks

Dir[(stinavn [, attributter] )]

Syntaksen for funktionen Dir består af følgende argumenter:

Argument

Beskrivelse

stinavn

Valgfrit. Strengudtryk, der angiver et filnavn – kan indeholde bibliotek eller mappe, og drev. En streng af længden nul ("") returneres, hvis stinavn ikke findes.

attributter

Valgfrit. Konstant eller numerisk udtryk, hvis sum angiver filattributter. Hvis udelades, returnerer filer, der svarer til stinavn , men ikke har attributter.


Indstillinger

Indstillingerne for argumentattributter er følgende:

Konstant

Værdi

Beskrivelse

vbNormal

0

(Standard) Angiver filen uden attributter.

vbReadOnly

1

Angiver skrivebeskyttede filer ud over filer uden attributter.

vbHidden

2

Angiver skjulte filer ud over filer uden attributter.

VbSystem

4

Angiver systemfiler ud over filer uden attributter. Ikke tilgængelig på Macintosh.

vbVolume

8

Angiver enhedsnavn. Hvis der er angivet en anden attribut, ignoreres vbVolume. Ikke tilgængelig på Macintosh.

vbDirectory

16

Angiver biblioteker eller mapper ud over filer uden attributter.

vbAlias

64

Angiver, at filnavn er et alias. Kun tilgængelig på Macintosh.


Bemærk: Disse konstanter angives via VBA (Visual Basic for Applications), og kan bruges overalt i din kode i stedet for aktuelle værdier.

Bemærkninger

I Microsoft Windows understøtter Dir brug af jokertegn for flere tegn (*) og jokertegn for et enkelt tegn (?) til at angive flere filer. På Macintosh behandles disse tegn som gyldige tegn i filnavne og kan ikke bruges som jokertegn til at angive flere filer.

Da Macintosh ikke understøtter jokertegnene, skal du bruge filtypen til at identificere grupper af tiler. Du kan bruge funktionen MacID til at angive filtype i stedet for at bruge filnavnene. Følgende sætning returnerer f.eks. navnet på den første TEXT-fil i den aktuelle mappe:

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

Hvis du vil gentage funktionen i alle filer i en mappe, skal du angive en tom streng:

Dir("")

Hvis du bruger funktionen MacID sammen med Dir i Windows, opstår der en fejl.

Alle attributværdier større end 256 anses for at være en MacID-værdi.

Du skal angive stinavn, første gang du kalder funktionen Dir. I modsat fald opstår der en fejl. Hvis du også angiver filattributter, skal stinavn medtages.

Dir returnerer det første filnavn, der passer til stinavn. Du kan få vist eventuelle yderligere filnavne, som passer til stinavn, ved at kalde Dir igen uden nogen argumenter. Når der ikke er flere filnavne, der passer, returnerer Dir en streng med længden nul (""). Når der returneres en streng med længden nul, skal du angive stinavn i efterfølgende opkald. I modsat fald opstår der en fejl. Du kan skifte til et nyt stinavn uden at hente alle de filnavne, der passer til det aktuelle stinavn. Du kan dog ikke kalde funktionen Dir rekursivt. Hvis du kalder Dir med attributten vbDirectory, returneres undermapper ikke løbende.

Tip!     Da filnavne ikke hentes i en bestemt rækkefølge, kan du eventuelt lagre returnerede filnavne i en matrix og derefter sortere array'en.

Eksempel

Bemærk: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

I dette eksempel anvendes funktionen Dir til at kontrollere, om visse filer og biblioteker findes. På Macintosh er “HD:” standarddrevnavnet, og stinavnet dele er adskilt af koloner i stedet for omvendte skråstreger. Windows-jokertegnene behandles også som gyldige tegn for filnavne på Macintosh. Du kan dog ikke bruge funktionen MacID til at angive 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

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×