Vsebina

# Funkcija Dir

Vrne ime datoteke, mape ali vseh datotek in map na pogonu ali pa v mapi, ki se ujemajo z navedeno potjo iskanja.

### Skladnja:

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

### Vrnjena vrsta:

String

### Parametri:

PathName: poljuben niz ali izraz, ki določa pot za iskanje, mapo ali datoteko. Ta argument se lahko navede samo pri prvem klicu funkcije Dir. Če želite, lahko tudi uporabljate zapis URL.

Attributes: poljuben cel izraz, katerega vrednost določa lastnosti datoteke po bitih. Funkcija Dir bo vrnila samo tiste datoteke in mape, ki ustrezajo navedenim atributom. Posamezne atribute lahko kombinirate, tako da jih seštevate:

0 : navadne datoteke.

16 : vrne samo ime mape.

Uporabite ta atribut, da ugotovite, ali datoteka ali mapa obstaja, ali pa da ugotovite vse datoteke in mape, ki se v konkretni mapi nahajajo.

Če želite ugotoviti, ali datoteka obstaja, vnesite v celoti njeno pot in ime. Če imenovana datoteka ne obstaja, bo funkcija Dir vrnila prazen niz ("").

Če želite ustvariti seznam vseh datotek, ki obstajajo v določeni mapi, sledite navodilom: Ob prvem klicu funkcije Dir navedite polno pot do datotek, npr. »D:\Datoteke\*.ods«. Če je pot pravilna in če je zadetek iskanja vsaj ena datoteka, bo funkcija Dir vrnila ime te datoteke oziroma prve datoteke, ki ustreza navedenemu iskalnemu nizu. Do imen naslednjih datotek, ki poti ustrezajo, pridete s ponovnimi klici funkcije Dir, vendar tokrat brez argumentov.

Če želite samo mape, si pomagajte s parametrom atribut. Enako velja tudi v primeru, da želite ime pogona (npr. razdelka na trdem disku).

### Kode napak:

5 Neveljaven klic procedure

53 Datoteke ni mogoče najti

### Primer:

    Sub ExampleDir
    ' izpiše vse datoteke in mape
    Dim sPath As String
    Dim sDir As String, sValue As String
        sMapa="Mape:"
        sPath = CurDir
        sValue = Dir$(sPath + getPathSeparator + "*",16)
        Do
            If sValue <> "." And sValue <> ".." Then
                If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                    ' najdi mape
                    sDir = sDir & chr(13) & sValue
                End If
            End If
            sValue = Dir$
        Loop Until sValue = ""
        MsgBox sDir,0,sPath
    End Sub

Podobne teme

Funkcija CurDir

Funkcija CompatibilityMode()

Ukaz Option VBASupport

Podprite nas!