Funktsioon Dir

Märkus. : Kui Microsoft Jet Expression Service töötab liivakastirežiimis, mis takistab potentsiaalselt ebaturvaliste avaldiste väärtustamist, on käesolevas artiklis kirjeldatud funktsioon, meetod, objekt või atribuut keelatud. Liivakastirežiimi kohta lisateabe saamiseks otsige spikrist sõna „liivakastirežiim”.

Tagastatakse string faili, kataloogi või kausta nimega, mis vastab määratletud koodile, failiatribuudile või draivisildile.

Süntaks

Dir[(pathname [, attributes] )]

Funktsiooni Dir süntaksil on järgmised argumendid.

Argument

Kirjeldus

pathname

Valikuline. Stringavaldis, mis tähistab failinime – võib viidata nii teegile, kaustale kui ka draivile. Kui argumenti pathname ei leita, tagastatakse nullpikkusega string („“).

attributes

Valikuline. Konstant või arvuline avaldis, mille summa määrab failiatribuudid. Kui see puudub, tagastatakse failid, mis vastavad atribuudile pathname, kuid millel pole ühtegi atribuuti.


Sätted

Argumendi attributes sätted on järgmised.

Konstant

Väärtus

Kirjeldus

vbNormal

0

(Vaikesäte.) Määrab atribuutideta failid.

vbReadOnly

1

Lisaks atribuutideta failidele määratakse kirjutuskaitstud failid.

vbHidden

2

Lisaks atribuutideta failidele määratakse peidetud failid.

vbSystem

4

Lisaks atribuutideta failidele määratakse süsteemifailid. Pole saadaval Macintoshi arvutis.

vbVolume

8

Määratakse draivisilt. Kui määratud on mõni muu atribuut, siis atribuuti vbVolume ignoreeritakse. Pole saadaval Macintoshi arvutis.

vbDirectory

16

Lisaks atribuutideta failidele määratakse kataloogid ja kaustad.

vbAlias

64

Määratud failinimi on pseudonüüm. Saadaval vaid Macintoshi arvutis.


Märkus. : Need konstandid määrab Visual Basic for Applications (VBA) ja neid saab koodis kasutada tegelike väärtuste asemel.

Kommentaarid

Microsoft Windowsis võimaldab funktsioon Dir failide määramisel kasutada mitmest märgist (*) ja ka üksikust märgist (?) koosnevaid metamärke. Macintoshis vaadeldakse neid märke kui sobivaid failnimemärke ning neid ei saa kasutada metamärkidena mitme faili määramisel.

Kuna Macintoshis metamärke ei toetata, kasutage failirühmade tuvastamiseks failitüüpi. Failinimede kasutamise asemel võite failitüübi määramisel kasutada ka funktsiooni MacID. Näiteks tagastatakse teile järgmise lausega praegusest kaustast failid, mille failitüübiks on „Tekst“.

Dir("SomePath", MacID("TEXT"))

Kausta kõigi failide itereerimiseks määrake tühi string.

Dir("")

Kui kasutate funktsiooni MacID Windowsi seadmes funktsiooniga Dir, tekib tõrge.

Kõik argumendi attributes väärtused, mis on suuremad kui 256, loetakse MacID väärtusteks.

Kui kasutate funktsiooni Dir esimest korda, peate määrama atribuudi pathname. Muidu tekib tõrge. Atribuut pathname on vajalik ka siis, kui määrate failiatribuudid.

Dir tagastab esimese failinime, mis vastab atribuudile pathname. Selleks et tagastataks ka muud failinimed, mis vastavad atribuudile pathname, käitage funktsioon Dir uuesti ilma argumentideta. Kui atribuudile vastavaid failinimesid rohkem pole, tagastab Dir nullpikkusega stringi („“). Kui tagastatakse nullpikkusega string, peate järgnevates kutsetes määrama atribuudi pathname. Muidu tekib tõrge. Atribuudi pathname saate vahetada praeguse atribuudiga pathname sobivaid failinimesid välja otsimata. Funktsiooni Dir ei saa kasutada rekursiivselt. Funktsiooni Dir kasutamisel atribuudiga vbDirectory alamkatalooge pidevalt ei tagastata.

Näpunäide.    Kuna failinimed tuuakse välja suvalises järjekorras, siis võiksite salvestada tagastatavad failinimed massiivi ja siis seda massiivi sortida.

Näide

Märkus. : Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.

Järgmises näites selgitatakse funktsiooni Dir abil välja kindlate failide ja kataloogide olemasolu. Macintoshis on vaikimisi kasutusel draivinimi „HD“ ning failiteenime osad on kurakriipsude asemel eraldatud koolonitega. Macintoshis loetakse Windowsi metamärgid sobivateks failinimemärkideks. Failirühmade määramiseks saate aga kasutada funktsiooni 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
Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×