Funkcia Dir

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Poznámka

Funkcia, metóda, objekt alebo vlastnosť, ktoré sú popísané v tejto téme, sú vypnuté, ak je služba Microsoft Jet Expression Service spustená v režime karantény, ktorý zabraňuje vo vyhodnocovaní možných nebezpečných výrazov. Ďalšie informácie o režime karantény nájdete vyhľadaním výrazu „režim karantény“ v Pomocníkovi.

Vráti reťazec, ktorý predstavuje názov súboru, adresára alebo priečinka, ktorý sa zhoduje so zadanou vzorkou alebo atribútom súboru, alebo označenie jednotky.

Syntax

Dir[(názov cesty [, atribúty] )]

Syntax funkcie Dir má tieto argumenty:

Argument Popis
názovcesty Voliteľný argument. Reťazcový výraz, ktorý určuje názov súboru – môže obsahovať adresár alebo priečinok a jednotku. Ak sa názov cesty nenájde, vráti sa reťazec s nulovou dĺžkou ("").
atribúty Voliteľný argument. Konštantný alebo numerický výraz, ktorého súčet určuje atribúty súborov. Ak sa vynechá, vráti súbory, ktoré zodpovedajú názvu cesty , ale nemajú žiadne atribúty.

    

Nastavenia

Nastavenia argumentov atribútov:

Konštanta Hodnota Popis
vbNormal 0 (Predvolené) Určuje súbory bez atribútov.
vbReadOnly 1 Okrem súborov bez atribútov určuje súbory, ktoré sú určené iba na čítanie.
vbHidden 2 Okrem súborov bez atribútov určuje skryté súbory.
VbSystem 4 Okrem súborov bez atribútov určuje systémové súbory. Nie je k dispozícii v počítačoch Macintosh.
vbVolume 8 Určuje menovku; ak je určený iný atribút, atribút vbVolume sa ignoruje. Nie je k dispozícii v počítačoch Macintosh.
vbDirectory 16 Okrem súborov bez atribútov určuje priečinky alebo súbory.
vbAlias 64 Zadaný názov súboru je alias. Je k dispozícii len v počítačoch Macintosh.

    

Poznámka

Tieto konštanty určuje program Visual Basic for Applications (VBA) a môžete ich použiť kdekoľvek v kóde namiesto skutočných hodnôt.

Poznámky:

V systéme Microsoft Windows podporuje nástroj Dir používanie zástupných znakov viacerých znakov (*) a jedného znaku (?) na určovanie viacerých súborov. V počítači Macintosh sa tieto znaky považujú za platné znaky v názve súboru a nedajú sa použiť ako zástupné znaky na určovanie viacerých súborov.

Keďže Macintosh nepodporuje zástupné znaky, na identifikáciu skupiny súborov použite typ súboru. Namiesto názvov súborov môžete na určenie typu súboru použiť funkciu MacID. Nasledujúci výraz napríklad vráti názov prvého súboru typu TEXT v aktuálnom priečinku:

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

Ak chcete prechádzať všetkými súbormi v priečinku, zadajte prázdny reťazec:

Dir("")

Ak funkciu MacID použijete s funkciou Dir v systéme Windows, vyskytne sa chyba.

Každá hodnota atribútu väčšia ako 256 sa považuje za hodnotu MacID .

Názov cesty je potrebné zadať pri prvom volaní funkcie Dir , inak sa vyskytne chyba. Ak zadáte aj atribúty súboru, musí byť zahrnutý názov cesty .

Funkcia Dir vráti prvý názov súboru, ktorý zodpovedá názvu cesty. Ak chcete získať ďalšie názvy súborov, ktoré zodpovedajú názvu cesty, znova zavolajte Dir bez argumentov. Keď sa nezhodujú žiadne ďalšie názvy súborov, funkcia Dir vráti reťazec s nulovou dĺžkou (""). Po vrátení reťazca s nulovou dĺžkou je potrebné v ďalších volaniach zadať názov cesty , inak sa vyskytne chyba. Názov cesty môžete zmeniť na nový bez toho, aby sa obnovili všetky názvy súborov, ktoré sa zhodujú s názvom aktuálnej cesty. Funkciu Dir však nie je možné volať rekurzívne. Volanie adresára Dir s atribútom vbDirectory nevracia neustále podadresáre.

Tip Keďže názvy súborov sa nenačítavajú v žiadnom konkrétnom poradí, je možné, že budete chcieť uložiť vrátené názvy súborov do poľa a potom pole zoradiť.

Príklad

Poznámka

Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade je funkcia Dir použitá na kontrolu existencie určitých súborov a adresárov. V počítačoch Macintosh je „HD:“ predvolený názov jednotky a časti názvu cesty sú oddelené dvojbodkami, nie opačnými lomkami. V počítačoch Macintosh sa okrem toho zástupné znaky systému Windows považujú za platné znaky názvu súboru. Na určenie skupín súborov však môžete použiť funkciu 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