Piezīme.: Šajā tēmā aprakstītā funkcija, metode, objekts vai rekvizīts tiek atspējots, ja Microsoft Jet Expression Service darbojas smilškastes režīmā, tā 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" sadaļā Palīdzība.
Atgriež virkni , kas attēlo tā faila, direktorija vai mapes nosaukumu, kas atbilst norādītajam modelim vai faila atribūtam, vai diska sējuma etiķeti.
Sintakse
Dir[(ceļa_nosaukums [, atribūti] )]
Funkcijas Dir sintaksē ir šādi argumenti:
Arguments |
Apraksts |
ceļa_nosaukums |
Neobligāts arguments. Virknes izteiksme, kas norāda faila nosaukumu — var ietvert direktoriju vai mapi un diskdzini. Ja ceļa nosaukums nav atrasts, tiek atgriezta nulles garuma virkne ("). |
atribūti |
Neobligāts arguments. Konstante vai skaitliska izteiksme, kuras summa norāda faila atribūtus. Ja tiek izlaists, atgriež failus, kas atbilst ceļa nosaukumam , bet nav atribūtu. |
Iestatījumi
Tālāk arguments iestatījumi.
Konstante |
Vērtība |
Apraksts |
vbNormal |
0 |
(Noklusējums) Norāda failus bez atribūtiem. |
vbReadOnly |
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 lielapjoma etiķeti; ja ir norādīts kāds cits mērķis, 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 norāda Visual Basic for Applications (VBA) un tās var izmantot jebkur jūsu kodā faktisko vērtību vietā.
Piezīmes
Operētājsistē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 apstrādātas kā derīgas faila nosaukuma rakstzīmes, 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 iterētu virs visiem mapes failiem, norādiet tukšu virkni:
Dir("")
Ja izmantojat macID funkciju ar Dir operētājsistēmā Windows, rodas kļūda.
Jebkura atribūtu vērtība , kas ir lielāka par 256, tiek uzskatīta par MacID vērtību.
Ceļa nosaukums ir jānorāda pirmajā reizē, kad izsaucat funkciju Dir , vai 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 papildu failu nosaukumus, kas atbilst ceļa nosaukumam, vēlreiz zvaniet Dir bez argumentiem. Ja failu nosaukumi vairs neatbilst, Dir atgriež nulles garuma virkni (""). Kad tiek atgriezta nulles garuma virkne, nākamajos zvanos vai rodas kļūda, ir jānorāda ceļa nosaukums. Varat mainīt uz jaunu ceļa nosaukumu , neizgūstot visus failu nosaukumus, kas atbilst pašreizējam ceļa nosaukumam. Tomēr funkcijas Dir rekursīvam zvanam nevar zvanīt. Zvanot Dirar vbDirectory atribūtu, apakštīkla direktoriji netiek pastāvīgi atgriezti.
Padoms . Tā kā failu nosaukumi netiek izgūti noteiktā secībā, varat saglabāt atgrieztos failu nosaukumus kādā masīvs un pēc tam kārtot 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ā tiek izmantota funkcija Dir , lai pārbaudītu, vai pastāv noteikti faili un direktoriji. Macintosh datorā "HD:" ir noklusējuma diska nosaukums, un ceļa nosaukuma daļas tiek atdalītas ar koliem, nevis atpakaļvērstām slīpsvītru. Turklāt Windows aizstājējzīmes macintosh datorā tiek apstrādātas kā derīgas failu nosaukumu rakstzīmes. Tomēr varat izmantot MacID funkciju, 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