Funkcia Dir

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ázovcesty [, 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. Reťazec s nulovou dĺžkou ("") sa vráti, ak zadaný názov cesty nie je možné nájsť.

atribúty

Voliteľný argument. Konštanta alebo numerický výraz, ktorého súčet určuje atribúty súborov. Ak sa tento argument vynechá, vráti súbory, ktoré síce zodpovedajú názvu cesty, no nemajú atribúty.


Nastavenia

Nastavenia atribútovargument sú:

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

Funkcia Dir v systéme Microsoft Windows podporuje používanie zástupného znaku 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.

Všetky hodnoty atribútov vyššie ako 256 sa považujú za hodnotu MacID.

Atribút názovcesty musíte určiť pri prvom volaní funkcie Dir. V opačnom prípade sa vyskytne chyba. Ak určíte aj atribúty súborov, musí byť uvedený aj atribút názovcesty.

Funkcia Dir vráti prvý názov súboru, ktorý zodpovedá atribútu názovcesty. Ak chcete získať ďalšie názvy súborov, ktoré zodpovedajú atribútu názovcesty, vyvolajte funkciu Dir znovu a bez argumentov. Ak názvu cesty nezodpovedajú žiadne ďalšie súbory, funkcia Dir vráti reťazec s nulovou dĺžkou (""). Keď sa vráti reťazec s nulovou dĺžkou, musíte pri nasledujúcich volaniach určiť argument názovcesty. V opačnom prípade sa vyskytne chyba. Argument názovcesty môžete zmeniť bez toho, aby ste museli získať všetky názvy súborov, ktoré zodpovedajú aktuálnemu argumentu názovcesty. Funkciu Dir však nemôžete vyvolávať rekurzívne. Vyvolaním funkcie Dir s atribútom vbDirectory sa podadresáre nebudú vracať opakovane.

Tip    Keďže názvy súborov sa nenačítavajú v konkrétnom poradí, môžete vrátené názvy súborov uložiť do poľa a potom ich 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
Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×