Funkce Dir

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Poznámka : Funkce, metoda, objekt či vlastnost popisovaná v tomto tématu je zakázána, pokud je služba Microsoft Jet Expression Service spuštěna v režimu vlastního paměťového prostoru, který zabraňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu vlastního paměťového prostoru naleznete po vyhledání hesla Režim vlastního paměťové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 vzorku, atributu souboru nebo jmenovce svazku jednotky.

Syntaxe

Dir[(cesta [, atributy] )]

Syntaxe funkce Dir obsahuje následující argumenty:

Argument

Popis

cesta

Volitelné. Řetězcový výraz určující název souboru, může obsahovat adresáře nebo složky a jednotky. Řetězec nulové délky ("") je vrátí, pokud cesta nenajde.

atributy

Volitelné. Konstanta nebo Číselný výraz, jejichž součet Určuje atributy souborů. Pokud není zadáno, vrátí soubory, které odpovídají cesta ale nemají žádné atributy.


Nastavení

Nastavení Argumentatributy:

Konstanta

Hodnota

Popis

vbNormal

+

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

vbReadOnly

2,5

Určuje soubory bez atributů a navíc soubory jen pro čtení.

vbHidden

5,08

Určuje soubory bez atributů a navíc skryté soubory.

VbSystem

1

Určuje soubory bez atributů a navíc systémové soubory. V systému Macintosh není k dispozici.

vbVolume

2,5

Určuje jmenovku svazku. Pokud není zadán žádný jiný atribut, je atribut vbVolume ignorován. V systému Macintosh není k dispozici.

vbDirectory

16

Určuje soubory bez atributů a navíc adresáře nebo složky.

vbAlias

64

Zadaný název souboru je alias (k dispozici pouze v systému Macintosh)


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

Poznámky

V systému Microsoft Windows podporuje funkce Dir možnost zadání více souborů pomocí zástupného znaku pro více znaků (*) nebo pro jeden znak (?). 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 pro zadání více souborů.

Systém Macintosh nepodporuje zástupné znaky, a proto je nutné k označení skupin souborů použít typ souboru. K zadání typu souboru lze místo názvů souborů použít funkci MacID. Například následující příkaz vrátí název prvního textového souboru v aktuální složce:

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

Chcete-li provést iteraci všech souborů ve složce, zadejte prázdný řetězec:

Dir("")

Použijete-li s funkcí Dir funkci MacID v systému Windows, dojde k chybě.

Jakákoli hodnota argumentu atributy větší než 256 je považována za hodnotu funkce MacID.

Pokud není při prvním volání funkce Dir zadán argument cesta, dojde k chybě. Jsou-li zadány také atributy souboru, je argument cesta povinný.

Funkce Dir vrátí první název souboru, který odpovídá argumentu cesta. Chcete-li získat další názvy souborů odpovídající argumentu cesta, opakujte volání funkce Dir bez použití argumentů. Pokud již žádné názvy souborů neodpovídají, funkce Dir vrátí řetězec nulové délky (""). Je-li vrácen řetězec nulové délky, je nutné při dalších voláních zadat argument cesta, nebo dojde k chybě. Nový argument cesta lze zadat, aniž by bylo nutné načíst všechny názvy souborů odpovídající aktuálnímu argumentu cesta. Funkci Dir však nelze volat rekurzivně. Volání funkce Dir s atributem vbDirectory nevrací průběžně podadresáře.

Tip:     Načtené názvy souborů nejsou seřazeny, a proto může být vhodné je uložit do Matice a toto pole potom 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 je funkce Dir použita ke kontrole, zda existují určité soubory a adresáře. V systému Macintosh je výchozím názvem jednotky „HD:“ a jednotlivé části cesty nejsou odděleny zpětnými lomítky, ale dvojtečkami. Zástupné znaky systému Windows jsou v systému Macintosh považovány za platné znaky názvu souboru. K zadání skupin souborů však lze 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

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×