Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Opmerking: De functie, methode, object of eigenschap die in dit onderwerp wordt beschreven, is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandbox-modus, waardoor de evaluatie van mogelijk onveilige expressies wordt voorkomen. Zoek naar 'sandbox-modus' in de Help voor meer informatie over de sandboxmodus.

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 de Macintosh is 'HD:' de standaardnaam van het station en delen van de padnaam worden gescheiden door dubbele punten in plaats van backslashes. De Windows-jokertekens worden ook behandeld als geldige bestandsnaamtekens op de Macintosh. 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

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.