Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu jsou zakázány, pokud je služba Microsoft Jet Expression Service spuštěna v režimu sandboxu, což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu sandboxu najdete v nápovědě pro "režim sandboxu".

Vrátí řetězec představující název souboru, adresáře nebo složky, který odpovídá zadanému vzoru nebo atributu souboru, nebo popisek svazku jednotky.

Syntaxe

Dir[(název_cesty [; atributy] )]

Syntaxe funkce Dir má tyto argumenty:

Argument

Popis

Cesta

Nepovinný argument. Řetězcový výraz, který určuje název souboru – může obsahovat adresář nebo složku a jednotku. Pokud není nalezen název cesty , vrátí se řetězec nulové délky ("").

Atributy

Nepovinný argument. Konstanta nebo Číselný výraz, jehož součet určuje atributy souboru. Pokud je vynechán, vrátí soubory, které odpovídají názvu cesty , ale nemají žádné atributy.

Nastavení

AtributyArgument nastavení jsou:

Konstanta

Value (Hodnota)

Popis

vbNormal

0

(Výchozí) Určuje soubory bez atributů.

vbReadOnly

1

Kromě souborů bez atributů určuje soubory jen pro čtení.

vbHidden

2

Určuje skryté soubory kromě souborů bez atributů.

VbSystem

4

Určuje systémové soubory kromě souborů bez atributů. Není k dispozici v systému Macintosh.

vbVolume

8

Určuje popisek svazku; Pokud je zadán jakýkoli jiný atribut, vbVolume se ignoruje. Není k dispozici v systému Macintosh.

vbDirectory

16

Určuje adresáře nebo složky kromě souborů bez atributů.

vbAlias

64

Zadaný název souboru je alias. K dispozici pouze pro Macintosh.

Poznámka:  Tyto konstanty jsou určeny jazykem Visual Basic for Applications (VBA) a lze je použít kdekoli v kódu místo skutečných hodnot.

Poznámky

V systému Microsoft Windows podporuje nástroj Dir použití více znaků (*) a zástupných znaků jednoho znaku (?) k určení více souborů. V systému Macintosh jsou tyto znaky považovány za platné znaky názvu souboru a nelze je použít jako zástupné znaky k určení více souborů.

Vzhledem k tomu, že Macintosh nepodporuje zástupné znamény, použijte k identifikaci skupin souborů typ souboru. K určení typu souboru místo názvů souborů můžete použít funkci MacID . Například následující příkaz vrátí název prvního souboru TEXT v aktuální složce:

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

Pokud chcete iterovat všechny soubory ve složce, zadejte prázdný řetězec:

Dir("")

Pokud ve Windows použijete funkci MacID s Direm , dojde k chybě.

Jakákoli hodnota atributů větší než 256 se považuje za hodnotu MacID .

Při prvním volání funkce Dir je nutné zadat název cesty, jinak dojde k chybě. Pokud zadáte také atributy souboru, musí být zahrnuta cesta nazev .

Dir vrátí první název souboru, který odpovídá názvu cesty. Pokud chcete získat další názvy souborů, které odpovídají názvu cesty, zavolejte Dir znovu bez argumentů. Pokud se nebudou shodovat žádné další názvy souborů, vrátí funkce Dir řetězec nulové délky (""). Jakmile se vrátí řetězec nulové délky, musíte v následných voláních zadat název_cesty , jinak dojde k chybě. Můžete změnit na novou cestu bez načtení všech názvů souborů, které odpovídají aktuálnímu názvu cesty. Funkci Dir ale nemůžete volat rekurzivně. Volání Dir s atributem vbDirectory nevrací neustále podadresáře.

Tip     Vzhledem k tomu, že se názvy souborů nenačítají v žádném konkrétním pořadí, můžete chtít vrácené názvy souborů uložit do Matice a pak pole seřadit.

Příklad

Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Tento příklad používá funkci Dir ke kontrole, jestli existují určité soubory a adresáře. V systému Macintosh je výchozí název jednotky "HD:" a části názvu cesty jsou oddělené dvojtečkami místo zpětných lomítek. Zástupné znaky systému Windows jsou také považovány za platné znaky názvu souboru v systému Macintosh. K určení skupin souborů ale můžete použít funkci 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

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.