Piezīme
Šajā tēmā aprakstītā funkcija, metode, objekts vai rekvizīts ir atspējots, ja Microsoft Jet Expression Service darbojas smilškastes režīmā, kas neļauj novērtēt potenciāli nedrošas izteiksmes. Lai iegūtu papildinformāciju par smilškastes režīmu, meklējiet "smilškastes režīms" palīdzībā.
Atgriež virkni, kas attēlo faila, direktorija vai mapes nosaukumu, kas atbilst norādītajam modelim vai faila atribūtam, vai diska sējuma etiķetei.
Sintakse
Dir[(ceļa nosaukums [, atribūti] )]
Funkcijas Dir sintaksei ir šādi argumenti.
| Arguments | Apraksts |
|---|---|
| ceļa nosaukums | Neobligāts arguments. Virknes izteiksme, kas norāda faila nosaukumu — var ietvert direktoriju vai mapi un disku. Ja ceļa nosaukums netiek atrasts, tiek atgriezta nulles garuma virkne (""). |
| Atribūti | Neobligāts arguments. Konstanta vai skaitliska izteiksme, kuras summa norāda faila atribūtus. Ja tiek izlaists, atgriež failus, kas atbilst ceļa nosaukumam , bet kuriem nav atribūtu. |
Iestatījumi
Atribūtu argumentaiestatījumi ir:
| Konstante | Vērtība | Apraksts |
|---|---|---|
| vbNormāls | 0 | (Noklusējums) Norāda failus bez atribūtiem. |
| vbTikai lasāms | 1 | Norāda tikai lasāmus failus papildus failiem bez atribūtiem. |
| vbHidden | 2 | Norāda slēptos failus papildus failiem bez atribūtiem. |
| VbSystem | 4 | Norāda sistēmas failus papildus failiem bez atribūtiem. Nav pieejams Macintosh datorā. |
| vbVolume | 8 | Norāda sējuma etiķeti; ja ir norādīts kāds cits attiecināts viens, vbVolume tiek ignorēts. Nav pieejams Macintosh datorā. |
| vbDirectory | 16 | Norāda direktorijus vai mapes papildus failiem bez atribūtiem. |
| vbAlias | 64 | Norādītais faila nosaukums ir aizstājvārds. Pieejams tikai Macintosh datorā. |
Piezīme
Šīs konstantes ir norādījis Visual Basic for Applications (VBA), un tās var izmantot jebkurā vietā kodā faktisko vērtību vietā.
Piezīmes
Sistēmā Microsoft Windows Dir atbalsta vairāku rakstzīmju (*) un vienas rakstzīmes (?) aizstājējzīmju lietošanu, lai norādītu vairākus failus. Macintosh datorā šīs rakstzīmes tiek uzskatītas par derīgām faila nosaukuma rakstzīmēm un tās nevar izmantot kā aizstājējzīmes, lai norādītu vairākus failus.
Tā kā Macintosh neatbalsta aizstājējzīmes, izmantojiet faila tipu, lai identificētu failu grupas. Varat izmantot funkciju MacID , lai norādītu faila tipu, nevis izmantotu failu nosaukumus. Piemēram, šis priekšraksts atgriež pašreizējā mapē esošā pirmā TEXT faila nosaukumu:
Dir("SomePath", MacID("TEXT"))
Lai atkārtotu visus mapes failus, norādiet tukšu virkni:
Dir("")
Ja operētājsistēmā Windows izmantojat funkciju MacID ar dir, rodas kļūda.
Jebkura atribūta vērtība, kas ir lielāka par 256, tiek uzskatīta par MacID vērtību.
Pirmoreiz izsaucot funkciju DIR, ir jānorāda ceļa nosaukums, vai arī rodas kļūda. Ja norādāt arī faila atribūtus, ir jāiekļauj ceļa nosaukums .
Dir atgriež pirmo faila nosaukumu, kas atbilst ceļa nosaukumam. Lai iegūtu jebkādus papildu failu nosaukumus, kas atbilst ceļa nosaukumam, vēlreiz zvaniet Dir bez argumentiem. Ja failu nosaukumi vairs nesakrīt, Dir atgriež nulles garuma virkni (""). Kad tiek atgriezta nulles garuma virkne, turpmākajos izsaukumos ir jānorāda ceļa nosaukums vai rodas kļūda. Varat mainīt uz jaunu ceļa nosaukumu , neizgūstot visus failu nosaukumus, kas atbilst pašreizējam ceļa nosaukumam. Tomēr funkciju Dir nevar izsaukt rekursīvi. Izsaucot Dir ar atribūtu vbDirectory , netiek pastāvīgi atgriezti apakšdirektoriji.
Padoms Tā kā failu nosaukumi netiek izgūti noteiktā secībā, iespējams, vēlēsities saglabāt atgrieztos failu nosaukumus masīvā un pēc tam kārtot šo masīvu.
Piemērs
Piezīme
Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.
Šajā piemērā ir izmantota funkcija DIR , lai pārbaudītu, vai pastāv noteikti faili un direktoriji. Macintosh datorā noklusējuma diska nosaukums ir "HD:", un ceļa nosaukuma daļas tiek atdalītas ar koliem, nevis ar atpakaļvērstajām slīpsvītrām. Arī Windows aizstājējzīmes Macintosh datorā tiek uzskatītas par derīgām faila nosaukuma rakstzīmēm. Tomēr varat izmantot funkciju MacID , lai norādītu failu grupas.
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