Inhoud

# Functie Dir

Geeft de naam van een bestand, map of alle bestanden en mappen op stations of in mappen die aan het opgegeven zoekpad voldoen.

### Syntaxis:

    Dir [(PathName As String [, Attributes As Integer])]

### Geretourneerde waarde:

String

### Parameters:

PathName: Elke tekenreeksexpressie die het zoekpad, de map of het bestand specificeert. Dit argument kan alleen worden opgegeven de eerste keer dat u de functie Dir aanroept. Als u wilt, kunt u het pad invoeren in URL notation.

Attributes: Elke integer-expressie die bitsgewijze bestandskenmerken specificeert. De functie Dir retourneert alleen bestanden of mappen die overeenkomen met de opgegeven kenmerken. U kunt verschillende attributen combineren door de attribuutwaardes toe te voegen:

0 : Normale bestanden.

16 : Geeft alleen de naam van de map.

Gebruik dit attribuut om te controleren of een bestand of map bestaat, of om alle bestanden en mappen in een specifieke map te zien.

Voer het pad en de naam van een bestand volledig in om te controleren of het bestaat. Als de bestand of mapnaam niet bestaat, geeft de functie Dir een tekenreeks met lengte nul ("").

U kunt als volgt een lijst van alle bestaande bestanden in een specifieke map genereren: Wanneer u de Dir-functie voor het eerst aanroept, specificeert u het volledige zoekpad voor de bestanden, bijvoorbeeld 'D:\Files\*.ods'. Is het pad juist en vindt de zoekopdracht ten minste één bestand, dan geeft de Dir-functie de naam van het eerste bestand dat met het zoekpad overeenkomt. Voor extra bestandsnamen die met het pad overeenkomen, roept u 'Dir' nogmaals op, maar zonder argumenten.

Als u alleen mappen wilt retourneren, gebruikt u de attribuutparameter. Hetzelfde geldt als u de naam van een volume wilt bepalen (bijvoorbeeld een harde-schijfpartitie).

### Foutcodes:

5 Ongeldige aanroep van procedure

53 Bestand niet gevonden

### Voorbeeld:

    Sub ExampleDir
    ' Geeft alle bestanden en mappen weer
    Dim sPath As String
    Dim sDir As String, sValue As String
        sDir="Mappen:"
        sPath = CurDir
        sValue = Dir$(sPath + getPathSeparator + "*",16)
        Do
            If sValue <> "." And sValue <> ".." Then
                If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                    ' Pak de mappen
                    sDir = sDir & chr(13) & sValue
                End If
            End If
            sValue = Dir$
        Loop Until sValue = ""
        MsgBox sDir,0,sPath
    End Sub

Verwante onderwerpen

Functie CurDir

Functie CompatibilityMode

Instructie Option VBASupport