Pastaba: Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė yra išjungta, jei "Microsoft Jet Expression Service" veikia smėlio dėžės režimu, kuris neleidžia įvertinti galimai nesaugių reiškinių. Jei reikia daugiau informacijos apie smėlio dėžės režimą, žinyne ieškokite "smėlio dėžės režimas".
Pateikia eilutę , nurodančią failo, katalogo ar aplanko, atitinkančio nurodytą trafaretą ar failo atributą, pavadinimą arba disko tomo žymą.
Sintaksė
Dir[(pathname [, attributes] )]
Funkcijos Dir sintaksė turi tokius argumentus:
Argumentas |
Aprašas |
kelio pavadinimas |
Pasirinktinis. Eilutės reiškinys, nurodantis failo vardą, gali apimti katalogą arba aplanką ir diską. Nulinio ilgio eilutė ("") pateikiama, jei pathname nerastas. |
Atributus |
Pasirinktinis. Konstanta arba skaitinis reiškinys, kurios suma nurodo failo atributus. Jei nenurodyta, pateikia failus, kurie atitinka pathname , bet neturi atributų. |
Parametrai
Atributai argumentas parametrai:
Konstanta |
Reikšmė |
Aprašas |
vbNormalus |
0 |
(Numatytasis parametras) Nurodo failus be atributų. |
vbReadOnly |
1 |
Nurodo tik skaitomus failus, be failų be atributų. |
vbHidden |
2 |
Nurodo paslėptus failus, be failų be atributų. |
VbSystem |
4 |
Nurodo ne tik failus, bet ir sistemos failus be atributų. Negalima naudoti Macintosh. |
vbVolume |
8 |
Nurodo tomo žymą; jei nurodyta kuri nors kita priskirta reikšmė, vbVolume nepaisoma. Negalima naudoti Macintosh. |
vbDirectory |
16 |
Nurodo ne tik katalogus ar aplankus, bet ir failus be atributų. |
vbAlias |
64 |
Nurodytas failo vardas yra pseudonimas. Galima tik Macintosh. |
Pastaba: Šias konstantas nurodo "Visual Basic for Applications" (VBA) ir jas galima naudoti bet kurioje kodo vietoje faktinių reikšmių.
Pastabos
Sistemoje "Microsoft Windows" "Dir " palaiko kelių simbolių (*) ir vieno simbolio (?) pakaitos simbolių naudojimą norint nurodyti kelis failus. Macintosh sistemoje šie simboliai laikomi galiojančiais failo vardo simboliais ir jų negalima naudoti kaip pakaitos simbolių norint nurodyti kelis failus.
"Macintosh" nepalaiko pakaitos simbolių, todėl failų grupėms identifikuoti naudokite failo tipą. Galite naudoti " MacID " funkciją, kad nurodytumėte failo tipą, o ne failų vardus. Pavyzdžiui, šis sakinys grąžina pirmojo TEXT failo dabartiniame aplanke pavadinimą:
Dir("SomePath", MacID("TEXT"))
Norėdami pakartoti visus failus aplanke, nurodykite tuščią eilutę:
Dir("")
Jei naudojate " MacID " funkciją su " Dir " sistemoje "Windows", įvyksta klaida.
Bet kokia atributų reikšmė, didesnė už 256, laikoma "MacID " reikšme.
Turite nurodyti pathname , kai pirmą kartą iškviečiate funkciją Dir , arba įvyksta klaida. Jei taip pat nurodysite failo atributus, turi būti įtrauktas pathname .
"Dir" grąžina pirmo failo vardą, atitinkantį pathname. Norėdami gauti papildomų failų vardų, atitinkančių pathname, iš naujo skambinkite "Dir" be argumentų. Kai daugiau failų vardų neatitinka, Dir pateikia nulinio ilgio eilutę (""). Kai grąžinama nulinio ilgio eilutė, turite nurodyti pathname paskesniuose iškvietimuose arba įvyksta klaida. Galite pakeisti į naują kelio pavadinimą nenuskaitydami visų failų vardų, atitinkančių dabartinį kelio pavadinimą. Tačiau negalite iškviesti funkcijos Dir rekursyviai. Iškviečiant "Dir " su atributu vbDirectory , pakatalogiai nuolat negrąžina.
Patarimas Failų vardai nuskaitomi ne tam tikra tvarka, todėl grąžintus failų vardus galite saugoti masyvas ir rikiuoti masyvą.
Pavyzdys
Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Šiame pavyzdyje funkcija Dir naudojama tikrinant, ar yra tam tikrų failų ir katalogų. Macintosh sistemoje "HD:" yra numatytasis disko pavadinimas, o kelio pavadinimo dalys atskiriamos dvitaškiais, o ne pasviraisiais brūkšniais. Be to, "Windows" pakaitos simboliai macintosh įrenginyje laikomi galiojančiais failo vardo simboliais. Tačiau norėdami nurodyti failų grupes, galite naudoti funkciją 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