Module
Inhoud
Index 🔎︎

# 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 [(Tekst As String) [, Attrib As Integer]]

## Teruggegeven waarde:

String

## Parameters:

Tekst: Elke tekenreeks die het zoekpad, de map of het bestand specificeert. Dit argument kan alleen gespecificeerd worden wanneer u de Dir-functie voor het eerst aanroept. Als u wilt, kunt u het pad in URL-notatie invoeren.

Attrib: Elke integer expressie die bestandsattributen bitsgewijs specificeert. De functie Dir retourneert alleen bestanden of mappen die met de gespecificeerde attributen overeenkomen. U kunt verschillende attributen samenvoegen door toevoeging van de attribuutwaarden:

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 bestands- of mapnaam niet bestaat, geeft de Dir-functie 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