Excel VBA DIR -toiminto

Dir on yksi VBA: n käytettävissä olevista toiminnoista. Dir-toiminto on tarkoitettu hakemistojen viittaamiseen VBA-koodissa.
Toiminto, joka palauttaa tiedoston tai hakemiston nimen, joka vastaa annettua ominaisuutta tai merkkijonoa, palauttaa muuten ensimmäisen tiedoston tai kansion. Yksinkertaisin sanoin, jos meillä on kansio ABC ja ABC: n sisällä on tiedosto XYZ, niin pääsemme XYZ-tiedostoon käyttämällä VBA: n DIR-toimintoa.

Kaava DIR-toiminnolle Excel VBA: ssa

DIR-toiminnolla on seuraava syntaksi Excel VBA: ssa:

Siinä on kaksi osaa polku ja attribuutit.

  • Pathname: Nimen mukaan kaikki voivat ymmärtää, että se on tiedoston polku, jolla tiedosto todella sijaitsee. Jos emme syötä polkua polunimessä, se palauttaa tyhjän merkkijonon.
  • Attribuutti: Se on valinnainen argumentti, emme käytä paljon tästä. Saatamme käyttää tätä, kun haluamme avata tiedoston alla olevilla määritteillä, sitten VBA etsii näitä tiedostoja.
vbArchiveMäärittää arkistot tai varmuuskopiotiedostot.
vbNormalNormaali (oletus) tai ei määritteitä.
vbReadOnlyvain luku-tiedostot
vbSystemJärjestelmätiedostot
vbVolumetilavuus etiketti; Jos käytät jotain muuta attribuuttia tämän kanssa, volyymitunnistetta ei huomioida.
vbDirectoryHakemistot tai kansiot.
vbHiddenpiilotetut tiedostot
vbAliasTiedoston nimi on alias

Kuinka käyttää DIR-toimintoa Excel VBA: ssa?

Alla on erilaisia ​​esimerkkejä DIR-toiminnon käyttämisestä Excelissä VBA-koodilla.

Voit ladata tämän VBA DIR Excel -mallin täältä - VBA DIR Excel Template

VBA DIR -toiminto - esimerkki # 1

Tässä esimerkissä näemme kuinka päästä tiedostonimeen käyttämällä VBA: n DIR-toimintoa.

Vaihe 1: Siirry Kehittäjät- välilehteen ja napsauta Visual Basic -painiketta

Vaihe 2: Avaa moduuli Lisää-valikon vaihtoehdosta alla olevan kuvan mukaisesti.

Vaihe 3: Käynnistääksesi minkä tahansa makron, ensin on annettava makroon nimi avainsanalla 'sub' kuten alla.

Koodi:

 Sub myexample1 () End Sub 

Muista, että kirjoitamme koodimme moduuliin1, kun kirjoitamme ”sub myexample ()”, automaattisesti ”End sub” tulee näkyviin.

Vaihe 4: Määritä merkkijono avainsanalla “ Dim ”, joka viittaa mittaan. Alla olevassa kuvakaappauksessa merkkijonon nimi on "mystring".

Koodi:

 Sub myexample1 () himmentää salata merkkijonon lopuna 

Muista aina, kun määrität tietotyyppien tai ohjelmien nimet, kahden sanan välillä ei saa olla välilyöntiä. ”Mystring” ei ole tilaa “minun” ja “merkkijono” välillä.

Tiedosto on saatavana näytekansiossa, joka on saatavana työpöydällä, ja tiedostonimi on ”KT tracker mine”.

C: \ Users \ cba_13 \ Desktop \ Sample \

Vaihe 5: Nyt meidän on tallennettava tiedostonimi ”mystringiin” käyttämällä Dir-toimintoa.

Koodi:

 Sub myexample1 () himmentää salausta merkkijonona mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") End Sub 

Yllä olevassa Dir-toiminnon kuvakaappauksessa olen antanut tiedostopolun lukuun ottamatta tiedostonimeä. Koska tiedostoja on vain yksi, se palauttaa tiedostonimen.

Vaihe 6: Nyt yllä olevan vaiheen kanssa tiedostonimi, joka on tallennettu merkkijonoon ”mystring”. Tiedostonimen näyttämiseksi meidän on näytettävä se viestiruudun kautta. Luo viestiruutu.

Koodi:

 Sub myexample1 () himmentää salausta merkkijonona mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Annoimme ohjeen näyttää tiedot ”salaamisessa” viestiruudun kautta, koska “mystringillä” on tiedostonimi, se näyttää tiedostonimen viestiruudun läpi.

Vaihe 7: Suorita nyt koodi napsauttamalla Toista-painiketta tai painamalla F5-näppäintä.

VBA DIR -toiminto - esimerkki 2

Tässä esimerkissä näemme, kuinka tiedosto avataan käyttämällä DIR-toimintoa Excel VBA: ssa.

Vaihe 1: Avaa VBA-koodinäyttö ja aloita antamalla ohjelman nimi “esimerkki2” tai mikä tahansa haluamasi nimi.

Koodi:

 Alaesimerkki2 () Loppu alaosaan 

Vaihe 2: Määritä kaksi merkkijonoa nimillä ”Foldername” ja “Filename”.

Koodi:

 Alaesimerkki2 () himmentävä kansion nimi merkkijonona. Himmennetty tiedostonimi merkkijonona lopuna 

Vaihe 3: Määritä nyt kansion polku kansion nimelle.

Koodi:

 Alaesimerkki2 () himmennettävä kansion nimi merkkijonona himmennetty tiedostonimi merkkijonona kansion nimi = "C: \ Käyttäjät \ cba_13 \ Työpöytä \ Näyte \" Lopeta ala 

Vaihe 4: Määritä tiedosto ”tiedostonimeen” Dir-toiminnolla. Tässä käytettiin Foldername-muuttujaa, koska sillä on kansion polku. Lisäsimme ampersandin avulla tiedoston nimen polulle.

Koodi:

 Alaesimerkki2 () himmentävä kansion nimi merkkijonona himmennetty tiedostonimi merkkijonona kansion nimi = "C: \ Käyttäjät \ cba_13 \ Työpöytä \ Näyte \" Tiedostonimi = Reaali (Kansion nimi & "KT Tracker mine.xlsx") Loppu alaosaan 

Nyt Dir-funktio palauttaa tiedostonimen ja tallentaa muuttujaan ”tiedostonimi”.

Vaihe 5: Edellisessä esimerkissä näimme tulokset viestiruudulla. Tässä haluamme kuitenkin avata tiedoston, joten käytämme komentoa “workbooks.open”.

Koodi:

 Alaesimerkki2 () himmennetty kansion nimi merkkijonona himmennetty tiedostonimi merkkijonona kansion nimi = "C: \ Käyttäjät \ cba_13 \ Työpöytä \ Näyte \" Tiedostonimi = Reaali (Kansion nimi & "KT Tracker mine.xlsx") Työkirjat.Avaa kansion nimi ja tiedostonimi Loppu alaosaan 

Vaihe 6: Suorita yllä oleva koodi, se avaa kansiossa ”C: \ Users \ cba_13 \ Desktop \ Sample \” saatavilla olevan tiedoston nimellä “KT Tracker mine”.

VBA DIR -toiminto - esimerkki 3

Nyt näemme ohjelman tietää, onko kansio käytettävissä vai ei. Minulla on kansio “Data” alla olevan kuvan mukaisesti.

Meidän on tarkistettava Dir-toiminnon avulla, onko ”Data” -kansio käytettävissä polulla C: \ Users \ cba_13 \ Desktop \ Sample \.

Vaihe 1: Luo ohjelman nimi ja määritä kaksi merkkijonoa nimillä FD ja FD1.

Koodi:

 Alaesimerkki3 () Dim Fd merkkijonona Dim Fd1 merkkijonona loppuosa 

Vaihe 2: Määritä kansion polku muuttujaan “Fd”.

Koodi:

 Alaesimerkki3 () Dim Fd merkkijonona Dim Fd1 merkkijonona Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Vaihe 3: Palauta kansion nimi alla olevalla tavalla Dir-toiminnolla.

Koodi:

 Alaesimerkki3 () Dim Fd merkkijonona Dim Fd1 merkkijonona Fd = "C: \ Käyttäjät \ cba_13 \ Työpöytä \ Näyte \ Data" Fd1 = Rea (Fd, vbDirectory) End Sub 

Dir-toiminnon tuloksen tulisi olla kansion nimi, ja se tallentuu Fd1-merkkijonomuuttujaan. Jos ”Data” -kansio ei ole käytettävissä kyseisessä kansiossa, se ei palauta merkkijonoa.

Vaihe 4: Nyt meidän on tarkistettava, onko Fd1: llä ”Data” -kansio vai ei. Käytä IF-ehtoa tarkistaaksesi, onko Fd1: llä merkkijono “Data” vai ei. Tulosta lausunto sitten ”olemassa”, jos se on käytettävissä.

Koodi:

 Alaesimerkki3 () Dim Fd merkkijonona Dim Fd1 merkkijonona Fd = "C: \ Käyttäjät \ cba_13 \ Työpöytä \ Näyte \ Data" Fd1 = Dir (Fd, vbDirectory) Jos Fd1 = "Data", sitten MsgBox ("Poistuu") loppuu Sub 

Vaihe 5: Jos Fd1 ei vastaa Data-kansiota, tulostetaan lause "Ei olemassa" muussa tilassa.

Koodi:

 Alaesimerkki3 () Dim Fd kuin merkkijono Dim Fd1 kuin merkkijono Fd = "C: \ Käyttäjät \ cba_13 \ Desktop \ Näyte \ Data" Fd1 = Dir (Fd, vbDirectory) Jos Fd1 = "Data", sitten MsgBox ("Exit") Muu MsgBox ("Ei poistu") End Sub 

Vaihe 6: Lopeta If-silmukka alla olevan kuvakaappauksen osoittamalla tavalla.

Koodi:

 Alaesimerkki3 () Dim Fd kuin merkkijono Dim Fd1 kuin merkkijono Fd = "C: \ Käyttäjät \ cba_13 \ Desktop \ Näyte \ Data" Fd1 = Dir (Fd, vbDirectory) Jos Fd1 = "Data", sitten MsgBox ("Exit") Muu MsgBox ("Ei poistu") End If End Sub 

Vaihe 7: Suorita koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta tarkistaaksesi, onko kansio käytettävissä vai ei. Jos ”Data” -kansio on saatavana kyseisessä kansiossa, se palauttaa alla olevan viestiruudun, jonka sanoma on “Exists”.

Vaihe 8: Muuta vain kansion nimi Data1.

 Alaesimerkki3 () Dim Fd kuin merkkijono Dim Fd1 kuin merkkijono Fd = "C: \ Käyttäjät \ cba_13 \ Desktop \ Näyte \ Data1" Fd1 = Dir (Fd, vbDirectory) Jos Fd1 = "Data", sitten MsgBox ("Poistuu") muualta MsgBox ("Ei poistu") End If End Sub 

Vaihe 9: Suorita koodi uudelleen. Nyt tulos on ”Ei ole olemassa”, kuten alla on esitetty.

Muistettavat asiat

  • Dir-toiminnon argumentit ovat valinnaisia.
  • Jos haluamme piilotettuja tiedostoja, kansioita tai erityyppisiä hakemistoja, mainitse vaatimus toisessa argumentissa.
  • Käytä ”\” kansion nimen lopussa antaessasi Dir-toiminnon siirtyäksesi kansioon.
  • Jos haluamme soittaa tai avata useita tiedostoja, voimme käyttää jokerimerkkiä “*” tai “?”.

Suositellut artikkelit

Tämä on opas VBA DIR -toimintoon. Tässä keskustellaan siitä, kuinka DIR-toimintoa voidaan käyttää Excel VBA: ssa, sekä joitain käytännöllisiä esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA-työkirja
  2. Epäsuora toiminto Excelissä
  3. VBA-kreivi
  4. Excel XOR -toiminto

Luokka: