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 izolovaného prostoru (sandbox), který znemožňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru vyhledáte zadáním dotazu "režim izolovaného prostoru" v nápovědě.
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 jmenovce svazku jednotky.
Syntaxe
Dir[(název_cesty [, atributy] )]
Syntaxe funkce Dir obsahuje tyto argumenty:
| Argument | Popis |
|---|---|
| název_cesty | Nepovinný argument. Řetězcový výraz, který určuje název souboru – může obsahovat adresář nebo složku a jednotku. Pokud se nenajde 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í
Nastavení argumentu atributůjsou:
| Konstanta | Hodnota | Popis |
|---|---|---|
| vbNormal | 0 | (Výchozí) Určuje soubory bez atributů. |
| vbReadOnly | 1 | Určuje kromě souborů bez atributů soubory jen pro čtení. |
| vbHidden | 2 | Určuje skryté soubory spolu se soubory bez atributů. |
| VbSystem | 4 | Určuje kromě souborů bez atributů také systémové soubory. Není k dispozici na počítačích Macintosh. |
| vbVolume | 8 | Určuje jmenovku svazku. Pokud je zadán jakýkoli jiný atribut, je vbVolume ignorován. Není k dispozici na počítačích Macintosh. |
| vbDirectory | 16 | Určuje adresáře nebo složky spolu se soubory bez atributů. |
| vbAlias | 64 | Zadaný název souboru je alias. K dispozici pouze na počítačích Macintosh. |
Poznámka
Tyto konstanty určuje jazyk jazyk Visual Basic for Application (VBA) a dají se použít kdekoliv v kódu místo skutečných hodnot.
Poznámky
V systému Microsoft Windows podporuje nástroj Dir použití několika zástupných znaků (*) a jednoho znaku (?) k zadání více souborů. Na platformě Macintosh jsou tyto znaky považovány za platné znaky v 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é znaky, použijte k identifikaci skupin souborů tento typ souboru. Místo názvů souborů můžete k určení typu souboru použít funkci MacID . Například následující výraz vrátí název prvního souboru TEXT v aktuální složce:
Dir("SomePath", MacID("TEXT"))
Pokud chcete iterovat přes všechny soubory ve složce, zadejte prázdný řetězec:
Dir("")
Pokud použijete funkci MacID s funkcí Dir ve Windows, dojde k chybě.
Hodnota atributu vyšší než 256 se považuje za hodnotu MacID.
Pathname musíte zadat při prvním volání funkce Dir, jinak dojde k chybě. Pokud zadáte také atributy souboru, musí být uveden název cesty .
Dir vrátí první název souboru, který se shoduje s názvem cesty. Pokud chcete získat další názvy souborů, které se shodují s názvem cesty, volejte Dir znovu bez argumentů. Pokud se nenajde žádná další shoda názvů souborů, vrátí funkce Dir řetězec nulové délky (""). Jakmile je vrácen ř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 nový název cesty , aniž byste museli načíst všechny názvy souborů, které odpovídají aktuálnímu názvu cesty. Funkci Dir ale nemůžete volat rekurzivně. Calling Dir s atributem vbDirectory nevrací podadresáře trvale.
Tip Vzhledem k tomu, že se názvy souborů nenačítají v určitém pořadí, můžete uložit vrácené názvy souborů do pole 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.
V tomto příkladu se funkce Dir používá ke kontrole, jestli existují určité soubory a adresáře. Na počítačích Macintosh je výchozí název jednotky "HD:" a části názvu cesty jsou místo zpětných lomítek oddělené dvojtečkami. Zástupné znaky systému Windows jsou také na platformě Macintosh považovány za platné znaky názvů souborů. 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