Funkce Dir

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 izolovaného prostoru (sandbox), který zabraňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru (sandbox) naleznete po vyhledání hesla režim izolovaného prostoru (sandbox) 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ý argument. Řetězcový výraz určující název souboru včetně adresáře nebo složky a jednotky. Pokud není cesta nalezena, je vrácen řetězec nulové délky ("").

atributy

Volitelný argument. Konstanta nebo Číselný výraz, jehož součet určuje atributy souboru. V případě vynechání jsou vráceny soubory, které odpovídají argumentu cesta, ale nemají žádné atributy.


Nastavení

Nastavení Argumentatributy:

Konstanta

Hodnota

Popis

vbNormal

0

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

vbReadOnly

1

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

vbHidden

2

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

VbSystem

4

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

vbVolume

8

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 uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že kliknete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.

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
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.

×