Dir, functie

Opmerking: De functie, de methode, het object of de eigenschap die wordt beschreven in dit onderwerp is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandbox-modus. In deze modus wordt de evaluatie van mogelijk onveilige expressies voorkomen. Als u meer wilt weten over de sandbox-modus, zoekt u in de Help naar 'sandbox-modus'.

Deze functie retourneert een tekenreeks die de naam vertegenwoordigt van een bestand of map die overeenkomt met een bepaald patroon of kenmerk, of het volumelabel van een schijf.

Syntaxis

Dir[(padnaam [, kenmerken] )]

De syntaxis van de functie Dir bevat deze argumenten:

Argument

Beschrijving

padnaam

Optioneel. Een tekenreeksexpressie die verwijst naar een bestandsnaam, die een map en station kan bevatten. Er wordt een tekenreeks met de lengte nul ("") geretourneerd als padnaam niet wordt gevonden.

kenmerken

Optioneel. Een constante of numerieke expressie waarvan de som bestandskenmerken aangeeft. Als u dit argument weglaat, bestaat het resultaat uit bestanden die overeenkomen met padnaam maar die geen kenmerken hebben.


Instellingen

Dit zijn de instellingen van het kenmerken-argument:

Constante

Waarde

Beschrijving

vbNormal

0

(Standaard) Verwijst naar bestanden zonder kenmerken.

vbReadOnly

1

Verwijst naar bestanden met het kenmerk Alleen-lezen en bestanden zonder kenmerken.

vbHidden

2

Verwijst naar verborgen bestanden en bestanden zonder kenmerken.

VbSystem

4

Verwijst naar systeembestanden en bestanden zonder kenmerken. Niet beschikbaar voor de Mac.

vbVolume

8

Verwijst naar het volumelabel; als er ook een ander kenmerk is opgegeven, wordt vbVolume genegeerd. Niet beschikbaar voor de Mac.

vbDirectory

16

Verwijst naar mappen en naar bestanden zonder kenmerken.

vbAlias

64

De opgegeven bestandsnaam is een alias. Alleen beschikbaar voor de Mac.


Opmerking:  Deze constanten worden opgegeven door Visual Basic for Applications (VBA) en kunnen overal in de code worden gebruikt in plaats van de werkelijke waarden.

Opmerkingen

In Microsoft Windows ondersteunt Dir het gebruik van jokertekens voor meerdere teken (*) en één teken (?) om meerdere bestanden op te geven. Op de Mac worden deze tekens behandeld als letterlijke tekens uit de bestandsnaam en kunnen ze dus niet worden gebruikt als jokertekens om meerdere bestanden op te geven.

Aangezien de Mac geen ondersteuning biedt voor jokertekens, gebruik u het bestandstype om groepen bestanden te identificeren. U kunt de functie MacID gebruiken om het bestandstype op te geven in plaats van de bestandsnamen te gebruiken. Met de volgende instructie wordt bijvoorbeeld het eerste TEXT-bestand in de huidige map geretourneerd:

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

Als u alle bestanden in een map wilt opvragen, gebruikt u een lege tekenreeks:

Dir("")

Als u de functie MacID gebruikt met Dir in Windows, treedt er een fout op.

Een waarde voor kenmerken groter dan 256 wordt beschouwd als een MacID-waarde.

U moet padnaam opgeven als u de functie Dir de eerste keer aanroept, anders treedt er een fout op. Als u ook bestandskenmerken opgeeft, is padnaam verplicht.

Dir retourneert de eerste bestandsnaam die overeenkomt met padnaam. Als u ook andere bestandsnamen wilt opvragen die overeenkomen met padnaam, moet u Dir opnieuw aanroepen, maar dan zonder argumenten. Als er geen bestanden meer worden gevonden, retourneert Dir een tekenreeks met de lengte nul (""). Daarna moet u padnaam opgeven in volgende aanroepen om een fout te voorkomen. U kunt een andere waarde voor padnaam opgeven zonder alle bestandsnamen op te halen die overeenkomen met de huidige waarde voor padnaam. Het is echter niet mogelijk om de functie Dir recursief aan te roepen. Als u Dir aanroept met het kenmerk vbDirectory, worden niet steeds submappen geretourneerd.

Tip     Aangezien bestandsnamen in willekeurige volgorde worden opgehaald, kan het handig zijn om geretourneerde bestandsnamen op te slaan in een matrix, zodat u de matrix daarna kunt sorteren.

Voorbeeld

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

In dit voorbeeld wordt de functie Dir gebruikt om te controleren of bepaalde bestanden en mappen bestaan. Op een Mac is 'HD:' de naam van de standaardschijf. Onderdelen van de padnaam worden op een Mac gescheiden door een dubbele punt in plaats van backslashes. Bovendien worden Windows-jokertekens op een Mac verwerkt als gewone tekens van de bestandsnaam. U kunt echter de functie MacID gebruiken om bestandsgroepen op te geven.

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
Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×