Bemærk
Funktionen, metoden, objektet eller egenskaben, der er beskrevet i dette emne, deaktiveres, hvis Microsoft Jet Expression Service kører i sandkassetilstand, hvilket forhindrer evalueringen af potentielt usikre udtryk. Søg efter "sandkassetilstand" i Hjælp, hvis du vil have mere at vide om sandkassetilstand.
Returnerer en Streng, der repræsenterer navnet på en fil, et bibliotek eller en mappe, der svarer til et bestemt mønster eller en filattribut eller enhedsnavnet for et drev.
Syntaks
Dir[(stinavn [, attributter] )]
Syntaksen for funktionen InputBox har disse argumenter:
| Argument | Beskrivelse |
|---|---|
| stinavn | Valgfrit. Strengudtryk, der angiver et filnavn – kan indeholde bibliotek eller mappe samt drev. Der returneres en streng af længden nul ("), hvis stinavn ikke blev fundet. |
| attributter | Valgfrit. Konstant eller numerisk udtryk, hvis sum angiver filattributter. Hvis det udelades, returneres filer, der svarer til stinavn , men som ikke har nogen attributter. |
Indstillinger
Argumentindstillingerne for attributterer:
| Konstant | Værdi | Beskrivelse |
|---|---|---|
| vbNormal | 0 | (Standard) Angiver filer uden attributter. |
| vbReadOnly | 1 | Angiver skrivebeskyttede filer samt filer uden attributter. |
| vbHidden | 2 | Angiver skjulte filer samt filer uden attributter. |
| VbSystem | 4 | Angiver systemfiler samt filer uden attributter. Ikke tilgængelig på Macintosh. |
| vbVolume | 8 | Angiver diskenhedsetiket. hvis der er angivet andre tilskrevet, ignoreres vbVolume . Ikke tilgængelig på Macintosh. |
| vbDirectory | 16 | Angiver biblioteker eller mapper samt filer uden attributter. |
| vbAlias | 64 | Angivet filnavn er et alias. Kun tilgængelig på Macintosh. |
Bemærk
Disse konstanter angives af Visual Basic for Applications (VBA) og kan bruges overalt i din kode i stedet for de faktiske værdier.
Bemærkninger
I Microsoft Windows understøtter Dir brug af jokertegn med flere tegn (*) og enkelttegn (?) 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 filer. Du kan bruge funktionen MacID til at angive filtypen i stedet for at bruge filnavnene. Følgende sætning returnerer eksempelvis navnet på den første TEKST-fil i den aktuelle mappe:
Dir("SomePath", MacID("TEXT"))
Hvis du vil gentage over alle filer i en mappe, skal du angive en tom streng:
Dir("")
Hvis du bruger funktionen MacID sammen med funktionen Dir i Windows, opstår der en fejl.
Alle attributter , der er større end 256, betragtes som en MacID-værdi .
Du skal angive stinavn , første gang du kalder funktionen Dir , ellers opstår der en fejl. Hvis du også angiver filattributter, skal stinavn medtages.
Dir returnerer det første filnavn, der svarer til stinavn. Hvis du vil have yderligere filnavne, der matcher stinavn, skal du kalde Dir igen uden argumenter. Når der ikke er flere filnavne, der matcher, returnerer Dir en tom streng (""). Når der returneres en streng af længden nul, skal du angive stinavn i efterfølgende kald, ellers opstår der en fejl. Du kan ændre til et nyt stinavn uden at hente alle de filnavne, der svarer til det aktuelle stinavn. Men du kan ikke kalde funktionen Dir rekursivt. Kald af Dir med attributten vbDirectory returnerer ikke kontinuerligt undermapper.
Tip Da filnavne ikke hentes i en bestemt rækkefølge, kan det være en god ide at gemme de returnerede filnavne i en matrix og derefter sortere matrixen.
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 bruges funktionen Dir til at kontrollere, om bestemte filer og mapper findes. På Macintosh er "HD:" navnet på standarddrevet, og dele af stinavnet er adskilt af kolon i stedet for omvendte skråstreger. Desuden behandles Windows-jokertegn som gyldige filnavnetegn på en Macintosh. Du kan dog 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