Huomautus: Tässä ohjeaiheessa kuvattu funktio, menetelmä, objekti tai ominaisuus ei ole käytössä, jos Microsoft Jet Expression Service toimii eristetyssä tilassa, mikä estää mahdollisesti vahingollisten lausekkeiden arvioimisen. Katso lisätietoja eristetystä tilasta ohjeen ”Eristetty tila” -kohdasta.
Palauttaa merkkijonon, joka edustaa sellaisen tiedoston, hakemiston tai kansion nimeä, joka vastaa määritettyä mallia tai tiedostomääritettä tai aseman nimeä.
Syntaksi
Dir[(polun nimi [, määritteet] )]
Dir-funktion syntaksilla on seuraavat argumentit:
Argumentti |
Kuvaus |
polkunimi |
Valinnainen. Merkkijonolauseke, joka määrittää tiedostonimen, voi sisältää hakemiston tai kansion, ja aseman. Tyhjä merkkijono ("") palautetaan, jos polun nimeä ei löydy. |
määritteet |
Valinnainen. Vakio tai numeerinen lauseke, jonka summa määrittää tiedoston määritteet. Jos se jätetään pois, palautetaan polun nimeä vastaavat tiedostot, mutta ilman määritteitä. |
Asetukset
Määritteiden argumentti asetukset ovat:
Vakio |
Arvo |
Kuvaus |
vbNormal |
0 |
(Oletus) Määrittää tiedostot, joilla ei ole määritteitä. |
vbReadOnly |
1 |
Määrittää vain luku -tiedostot sellaisten tiedostojen lisäksi, joilla ei ole määritteitä. |
vbHidden |
2 |
Määrittää piilotetut tiedostot sellaisten tiedostojen lisäksi, joilla ei ole määritteitä. |
VbSystem |
4 |
Määrittää järjestelmätiedostot sellaisten tiedostojen lisäksi, joilla ei ole määritteitä. Ei käytettävissä Macintoshissa. |
vbVolume |
8 |
Määrittää aseman nimen; jos määritetään jokin muu määrite, vbVolume ohitetaan. Ei käytettävissä Macintoshissa. |
vbDirectory |
16 |
Määrittää hakemistot tai kansiot sellaisten tiedostojen lisäksi, joilla ei ole määritteitä. |
vbAlias |
64 |
Määritetty nimi on alias. Käytettävissä vain Macintoshissa. |
Huomautus: Nämä vakiot on määrittänyt Visual Basic for Applications (VBA). Vakioita voidaan käyttää koodissa missä tahansa todellisten arvojen sijasta.
Huomautuksia
Microsoft Windowsissa Dir tukee monien merkkien (*) ja yhden merkin (?) yleismerkkien käyttöä useiden tiedostojen määrittämiseksi. Macintoshissa näitä merkkejä käsitellään kelvollisina tiedostonimen merkkeinä, eikä niitä voi käyttää yleismerkkeinä useiden tiedostojen määrittämiseksi.
Koska Macintosh ei tue yleismerkkejä, määritä tiedostoryhmät tiedostotyypin avulla. Voit MacID-funktion avulla määrittää tiedostotyypin tiedostonimien käyttämisen sijaan. Esimerkiksi seuraava lauseke palauttaa ensimmäisen TEXT-tiedoston nimen nykyisessä kansiossa:
Dir("SomePath", MacID("TEXT"))
Jos haluat käydä läpi kaikki kansion tiedostot, määritä tyhjä merkkijono:
Dir("")
Jos käytät MacID-funktiota Dir-funktion kanssa Windowsissa, tapahtuu virhe.
Mitä tahansa määritettä, jonka arvo on suurempi kuin 256, pidetään MacID-arvona.
Sinun on määritettävä polun nimi, kun kutsut Dir-funktiota ensimmäisen kerran, tai tapahtuu virhe. Jos määrität myös tiedoston määritteet, sinun on sisällytettävä polun nimi.
Dir-funktio palauttaa ensimmäisen tiedostonimen, joka vastaa polun nimeä. Saat polun nimeä vastaavat muut tiedostonimet kutsumalla Dir-funktion uudelleen ilman argumentteja. Jos muut tiedostonimet eivät vastaa polun nimeä, Dir-funktio palauttaa tyhjän merkkijonon (""). Kun funktio palauttaa tyhjän merkkijonon, sinun on määritettävä polun nimi seuraavissa kutsuissa tai tapahtuu virhe. Voit vaihtaa uuteen polun nimeen noutamatta kaikkia tiedostonimiä, jotka vastaavat nykyistä polun nimeä. Et voi kuitenkaan kutsua Dir-funktiota rekursiivisesti. Jos kutsut Dir-funktion vbDirectory-määritteen kanssa, se ei jatkuvasti palauta alihakemistoja.
Vihje Koska tiedostonimiä ei haeta tietyssä järjestyksessä, haluat ehkä tallentaa palautetut tiedostonimet matriisi:een ja lajitella sitten matriisin.
Esimerkki
Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Tässä esimerkissä Dir-funktion avulla tarkistetaan, onko tiettyjä tiedostoja ja hakemistoja olemassa. Macintoshissa ”HD” on oletusarvoinen aseman nimi ja polun nimen osat erotetaan toisistaan kaksoispisteillä kenoviivojen sijasta. Windowsin yleismerkkejä käsitellään myös kelvollisina tiedostonimimerkkeinä Macintoshissa. Voit kuitenkin määrittää tiedostoryhmät MacID-funktion avulla.
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