Funkcija Dir

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Napomena

Funkcija, metoda, objekt ili svojstvo opisani u ovoj temi onemogućeni su ako je servis izraza Microsoft Jet pokrenut u načinu rada s memorijom za testiranje, što sprječava procjenu potencijalno nesigurnih izraza. Dodatne informacije o načinu rada s memorijom za testiranje potražite u pomoći "način rada s memorijom za testiranje".

Vraća niz koji predstavlja naziv datoteke, direktorija ili mape koji odgovara navedenom uzorku ili atributu datoteke ili oznaci jedinice pogona.

Sintaksa

Dir[(nazivputa [, atributi] )]

Sintaksa funkcije Dir sadrži ove argumente:

Argument Opis
nazivputa Neobavezno. Nizovni izraz koji određuje naziv datoteke – može sadržavati direktorij ili mapu i pogon. Ako se PathName ne pronađe, vraća se niz nulte duljine ("").
atributi Neobavezno. Konstanta ili brojčani izraz, čiji zbroj određuje atribute datoteke. Ako se izostavi, vraća datoteke koje se podudaraju s nazivom puta, ali nemaju atribute.

    

Postavke

Postavke argumenta atributa:

Konstanta Vrijednost Opis
vbNormal 0 (Zadano) Određuje datoteke bez atributa.
vbReadOnly 1 Uz datoteke bez atributa određuje i datoteke samo za čitanje.
vbHidden 2 Određuje skrivene datoteke uz datoteke bez atributa.
VbSystem 4 Uz datoteke bez atributa određuje i sistemske datoteke. Nije dostupno na računalu Macintosh.
vbVolume 8 Određuje oznaku jedinice; ako je naveden neki drugi atribut, vbVolume se zanemaruje. Nije dostupno na računalu Macintosh.
vbDirectory 16 Određuje direktorije i mape uz datoteke bez atributa.
vbAlias 64 Određeni je naziv datoteke pseudonim. Dostupno samo na računalu Macintosh.

    

Napomena

Te konstante navodi Visual Basic for Applications (VBA) i mogu se koristiti bilo gdje u kodu umjesto stvarnih vrijednosti.

Napomene

U sustavu Microsoft Windows Dir podržava korištenje višestrukih zamjenskih znakova (*) i jednog znaka (?) radi određivanja više datoteka. Na računalu Macintosh ti se znakovi tretiraju kao valjani znakovi naziva datoteke i ne mogu se koristiti kao zamjenski znakovi za određivanje većeg broja datoteka.

Budući da Macintosh ne podržava zamjenske znakove, za prepoznavanje grupa datoteka koristite tu vrstu datoteke. Umjesto naziva datoteka možete odrediti vrstu datoteke, već koristiti funkciju MacID . Sljedeća naredba, na primjer, vraća naziv prve TEXT datoteke u trenutnoj mapi:

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

Da biste iterirali preko svih datoteka u mapi, navedite prazan niz:

Dir("")

Ako koristite funkciju MacID s direktorijem u sustavu Windows, doći će do pogreške.

Svi atributi koji su veći od 256 smatraju se MacID vrijednošću.

Prilikom prvog pozivanja funkcije Dir morate navesti naziv puta, jer će u protivnom doći do pogreške. Ako navedete i atribute datoteke, mora biti uključen nazivputa .

Dir vraća prvi naziv datoteke koji odgovara nazivputa puta. Da biste dohvatili dodatne nazive datoteka koji odgovaraju nazivu puta, ponovo pozovite Dir bez argumenata. Kada se više naziva ne podudaraju, Dir vraća niz nulte vrijednosti (""). Kad se vrati niz nulte duljine, u sljedećim pozivima morate navesti naziv puta, jer će u protivnom doći do pogreške. Možete promijeniti u novi naziv puta , a da ne dohvaćate sve nazive datoteka koji odgovaraju trenutnom nazivu puta. No funkciju Dir ne možete pozivati rekurzivno. Pozivanje direktorija s atributom vbDirectory ne vraća trajno poddirektorije.

Savjet Budući da se nazivi datoteka ne dohvaćaju određenim redoslijedom, možda ćete htjeti vratiti nazive datoteka u polje, a zatim sortirati polje.

Primjer

Napomena

Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.

U ovom se primjeru pomoću funkcije Dir provjeravaju postoje li određene datoteke i direktoriji. Na računalu Macintosh "HD:" zadani je naziv pogona, a dijelovi naziva puta odvojeni su dvotočkama umjesto obrnutim kosim crtama. Uz to, zamjenski znakovi sustava Windows tretiraju se kao valjani znakovi naziva datoteke na računalu Macintosh. No za određivanje grupa datoteka možete koristiti funkciju MacID .

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