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[(polkunimi [, attributes] )]
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ääritteidenargumentin asetukset ovat seuraavat:
| 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-toiminto 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.
Kaikki määritteet , jotka ovat suurempia kuin 256, katsotaan MacID-arvoiksi .
Polun nimi on määritettävä, kun kutsut Dir-funktiota ensimmäisen kerran, tai tapahtuu virhe. Jos määrität myös tiedostomääritteet, polun nimi on sisällytettävä.
Dir palauttaa ensimmäisen tiedostonimen, joka vastaa polun nimeä. Jos haluat saada lisää polkua vastaavia tiedostonimiä, kutsu Dir-komentoa 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 nykyistä polkua vastaavia tiedostonimiä. Et voi kuitenkaan kutsua Dir-funktiota rekursiivisesti. Jos kutsut Dir-funktion vbDirectory-määritteen kanssa, se ei jatkuvasti palauta alihakemistoja.
Vinkki Koska tiedostonimiä ei haeta tietyssä järjestyksessä, haluat ehkä tallentaa palautetut tiedostonimet matriisiin 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