Funkce Dir

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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