Dir-funktio

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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