Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Notă: Funcția, metoda, obiectul sau proprietatea descrise în acest subiect este dezactivată dacă Serviciul de expresii Microsoft Jet rulează în modul sandbox, ceea ce împiedică evaluarea expresiilor potențial nesigure. Pentru mai multe informații despre modul sandbox, căutați "modul sandbox" în Ajutor.

Returnează un șir de caractere care reprezintă numele unui fișier, director sau folder care corespunde unui anumit model sau atribut de fișier sau eticheta de volum a unei unități.

Sintaxă

Dir[(nume pathname [, atribute] )]

Sintaxa funcției Dir are următoarele argumente:

Argument

Descriere

Pathname

Opțional. Expresia șir care specifică un nume de fișier - poate include directorul sau folderul și unitatea. Se returnează un șir de lungime zero ("") dacă numele căii nu este găsit.

Atribute

Opțional. Constantă sau expresie numerică, a căror sumă specifică atributele fișierului. Dacă este omisă, returnează fișiere care se potrivesc cu numele căii , dar nu au atribute.


Setări

Setărileargumentatribute sunt:

Constantă

Valoare

Descriere

vbNormal

0

(Implicit) Specifică fișierele fără atribute.

vbReadOnly

1

Specifică fișierele doar în citire, în plus față de fișierele fără atribute.

vbHidden

2

Specifică fișierele ascunse, în plus față de fișierele fără atribute.

VbSystem

4

Specifică fișierele de sistem, în plus față de fișierele fără atribute. Nu este disponibil pe Macintosh.

vbVolume

8

Specifică eticheta de volum; dacă se specifică orice alt atribut, vbVolume este ignorat. Nu este disponibil pe Macintosh.

vbDirectory

16

Specifică directoarele sau folderele, în plus față de fișierele fără atribute.

vbAlias

64

Numele de fișier specificat este un alias. Disponibil doar pe Macintosh.


Notă:  Aceste constante sunt specificate de Visual Basic for Applications (VBA) și pot fi utilizate oriunde în cod în locul valorilor reale.

Observații

În Microsoft Windows, Dir acceptă utilizarea caracterelor wildcard multiple (*) și a caracterelor unice (?) pentru a specifica mai multe fișiere. Pe Macintosh, aceste caractere sunt tratate ca caractere valide de nume de fișier și nu pot fi utilizate ca metacaractere pentru a specifica mai multe fișiere.

Deoarece Macintosh nu acceptă caracterele wildcard, utilizați tipul de fișier pentru a identifica grupuri de fișiere. Puteți utiliza funcția MacID pentru a specifica tipul de fișier în loc să utilizați numele fișierelor. De exemplu, următoarea instrucțiune returnează numele primului fișier TEXT din folderul curent:

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

Pentru a itera peste toate fișierele dintr-un folder, specificați un șir gol:

Dir("")

Dacă utilizați funcția MacID cu Dir în Windows, apare o eroare.

Orice valoare de atribute mai mare decât 256 este considerată o valoare MacID .

Trebuie să specificați numele căii prima dată când apelați funcția Dir sau apare o eroare. Dacă specificați și atributele de fișier, numele căii trebuie să fie inclus.

Dir returnează primul nume de fișier care se potrivește cu numele căii. Pentru a obține orice nume de fișier suplimentare care se potrivesc cu numele căii, apelați Dir din nou fără argumente. Atunci când nu se mai potrivesc nume de fișiere, Dir returnează un șir de lungime zero (""). După ce este returnat un șir de lungime zero, trebuie să specificați numele căii în apelurile ulterioare sau să apară o eroare. Puteți schimba la un nume de cale nou fără a regăsi toate numele de fișiere care se potrivesc cu numele de cale curent. Totuși, nu puteți apela funcția Dir recursiv. Apelarea Dir cu atributul vbDirectory nu returnează continuu subdirectorii.

Sfat     Deoarece numele de fișiere nu sunt regăsite într-o anumită ordine, se recomandă să stocați numele de fișiere returnate într-o matrice, apoi să sortați matricea.

Exemplu

Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Acest exemplu utilizează funcția Dir pentru a verifica dacă există anumite fișiere și directoare. Pe Macintosh, "HD:" este numele implicit al unității și porțiunile numelui de cale sunt separate prin două puncte în loc de bare oblice inverse. De asemenea, caracterele wildcard Windows sunt tratate ca caractere nume de fișier valide pe Macintosh. Cu toate acestea, puteți utiliza funcția MacID pentru a specifica grupurile de fișiere.

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

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×