Funktionen Dir

Bemærk: Den funktion, metode, objekt eller egenskab, som beskrives i dette emne er deaktiveret, hvis Microsoft Jet-udtrykstjenesten er i sandkassetilstand, der forhindrer evaluering af udtryk, der muligvis ikke er sikre. Yderligere oplysninger om sandkassetilstand finder du i Hjælp ved at søge på "sandkassetilstand".

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

Valgfri. strengudtryk, der angiver et filnavn — kan indeholde bibliotek eller mappe og drev. Der returneres en streng med længden nul (""), hvis stinavn ikke findes.

attributter

Valgfri. konstant eller numerisk udtryk, hvis sum angiver filattributter. Hvis den udelades, returneres der filer, som 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: I de følgende eksempler demonstreres brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan få yderligere oplysninger om arbejde med VBA ved at vælge Udviklerreference på rullelisten ud for Søg og indtaste et eller flere udtryk i søgeboksen.

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
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!

×