Pastaba: Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė yra išjungta, jei "Microsoft" Jet Expression tarnyba veikia smėlio dėžės režimu, o tai neleidžia įvertinti potencialiai nesaugių reiškinių. Norėdami gauti 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 pavadinimą, atitinkantį nurodytą trafaretą arba failo atributą, arba disko tomo žymę.
Sintaksė
Dir[(maršruto vardas [, atributai] )]
Funkcijos dir sintaksėje yra šie argumentai:
Argumentas |
Aprašas |
Maršruto vardas |
Pasirenkama. Eilutės išraiška, nurodanti failo vardą – gali apimti katalogą arba aplanką ir diską. Nulinio ilgio eilutė ("") grąžinama, jei maršruto vardas nerastas. |
atributus |
Pasirenkama. Konstanta arba skaitinis reiškinys, kurių suma nurodo failo atributus. Jei nenurodyta, pateikia failus, atitinkančius maršruto vardą , bet neturi atributų. |
Parametrai
Atributai argumentas parametrai:
Konstanta |
Reikšmė |
Aprašas |
vbNormal |
0 |
Numatytąjį Nurodo failus be atributų. |
vbReadOnly |
1 |
Nurodo tik skaityti skirtus failus be failų be atributų. |
vbHidden |
2 |
Nurodo paslėptus failus be failų be atributų. |
VbSystem |
4 |
Nurodo sistemos failus be failų be atributų. Negalima naudoti "Macintosh". |
vbVolume |
8 |
Nurodo tomo žymę; Jei nurodytas kitas priskirtas, Vbvolume yra ignoruojamas. Negalima naudoti "Macintosh". |
vbDirectory |
16 |
Nurodo katalogus arba aplankus be failų be atributų. |
vbAlias |
64 |
Nurodytas failo vardas yra pseudonimas. Pasiekiama tik "Macintosh". |
Pastaba: Šios konstantos nurodomos pagal "Visual Basic for Applications" (VBA) ir vietoje faktinių reikšmių galima naudoti bet kurioje kodo vietoje.
Pastabos
Programoje "Microsoft Windows" dir palaiko kelių simbolių naudojimą (*) ir vieną simbolį (?) pakaitos simbolius, kad būtų galima nustatyti kelis failus. "Macintosh" Šie simboliai laikomi galiojančiais failo vardo simboliais ir jų negalima naudoti kaip pakaitos simbolius norint nurodyti kelis failus.
Kadangi "Macintosh" nepalaiko pakaitos simbolių, naudokite failo tipą, kad identifikuotumėte failų grupes. Galite naudoti funkciją MacID Norėdami nustatyti failo tipą, o ne naudoti failų vardus. Pvz., šis sakinys pateikia pirmojo teksto failo vardą dabartiniame aplanke:
Dir("SomePath", MacID("TEXT"))
Norėdami iterti per visus aplanke esančius failus, nustatykite tuščią eilutę:
Dir("")
Jei naudojate funkciją MacID su dir sistemoje "Windows", įvyksta klaida.
Bet koks atributų reikšmė, didesnė nei 256, laikoma MacID reikšme.
Pirmą kartą skambindami funkcija dir , turite apibrėžti maršruto vardą arba įvyksta klaida. Jei taip pat nurodėte failo atributus, reikia įtraukti maršruto vardą .
Dir pateikia pirmąjį failo vardą, atitinkantį maršruto vardas. Norėdami gauti papildomų failų vardų, kurie atitinka " maršruto vardas", dar kartą skambinkite dir be argumentų. Kai ne daugiau failų vardų sutampa, dir pateikia nulinio ilgio eilutę (""). Kai grąžinama nulinio ilgio eilutė, turite apibrėžti maršruto pavadinimą paskesniuose pokalbiams arba įvyksta klaida. Galite keisti į naują maršruto vardą ir negauti visų failų vardų, kurie atitinka dabartinį maršruto vardą. Tačiau negalite iškviesti funkcijos dir . Skambinimo dir su " vbdirectory " atributu nėra nuolat grąžinamas pakatalogį.
Patarimas Kadangi failų vardai nuskaitomi ne tam tikra tvarka, galite norėti Išsaugoti grąžintus failų vardus masyvas, tada Rūšiuoti masyvo.
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 naudojama funkcija dir , kad būtų galima patikrinti, ar yra tam tikrų failų ir katalogų. "Macintosh", "HD:" yra numatytasis disko pavadinimas ir maršruto pavadinimo dalys atskiriami dvitaškiais, o ne įžambiais brūkšniais. Be to, "Windows" pakaitos simboliai yra traktuojami kaip tinkami failo vardo simboliai "Macintosh". Tačiau galite naudoti funkciją MacID , kad nustatytumėte failų grupes.
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