VBA DIR -funktion käyttäminen Excelissä (7 käytännön esimerkkiä)

  • Jaa Tämä
Hugh West

The DIR toiminto VBA näyttää pääasiassa hakemiston tai tiedostot tietystä kansiosta. Se voi myös palauttaa ensimmäisen tiedoston tällä funktiolla. Tällä funktiolla on paljon käyttötarkoituksia tiettyjen tiedostojen ja kansioiden saamiseksi. Sinun tarvitsee vain lisätä tiedoston polku polkunimeen osoitteessa VBA Koodin käyttäminen voi olla hankalampaa. VBA DIR Älä huoli, tässä artikkelissa näytämme sinulle joitakin esimerkkejä paremmasta visualisoinnista, jotta voit käyttää työkalua VBA DIR Toivottavasti osaat käyttää funktiota artikkelin lukemisen jälkeen. Aloitetaan siis.

Lataa harjoituskirja

Lataa seuraava harjoituskirja, joka auttaa sinua ymmärtämään aihetta paremmin.

DIR-toiminto.xlsm

DIR-toiminnon esittely

Yhteenveto:

The VBA DIR palauttaa tiedoston tai hakemiston nimen annetusta kansiopolusta. Tavallisesti se palauttaa ensimmäisen tiedoston.

Syntaksi:

Dir [ (polunnimi, [ attribuutit ] ) ] ]

Argumentit Selitys:

Argumentti Vaadittava/Vapaaehtoinen Selitys
PathName Valinnainen Polku käyttää ja määrittää tiedoston
Attribuutit Valinnainen Vakio tai numeerinen lauseke määrittää vastaavien tiedostojen attribuutit

On olemassa muutama ennalta määritetty ominaisuus, jotka ovat-

Attribuutin nimi Kuvaus
vbNormal Tiedostot, joilla ei ole erityisiä ominaisuuksia
vbReadOnly Vain lukuoikeudet sisältävät tiedostot, joissa ei ole attribuutteja
vbHidden Piilotetut tiedostot, joilla ei ole attribuutteja
vbSystem Järjestelmätiedostot, joilla ei ole attribuutteja
vbVolume Äänenvoimakkuuden etiketti
vbDirectory Hakemistot tai kansiot, joilla ei ole attribuutteja
vbAlias Määritetty tiedostonimi on alias

7 esimerkkiä VBA DIR -funktion käyttämisestä Excelissä

Kuvauksen perusteella olisit ehkä ymmärtänyt, että VBA DIR funktio antaa tiedoston nimen annetusta polunimestä. Ymmärretään se esimerkin avulla. Tässä olemme luoneet hakemiston nimellä Exceldemy_Folder Tässä kansiossa on erilaisia pieniä kansioita ja tiedostoja.

1. Etsi tiedostonimi polusta

Voimme etsiä tietyn tiedoston kansiostamme ilmoittamalla tiedostonimen polun.

Kun olet kopioinut tiedoston polun, sinun on ajettava koodi.

Tästä syystä siirry osoitteeseen Kehittäjä tab>> pick Visual Basic . Mene sitten osoitteeseen Lisää Valitse välilehti>> Valitse Moduuli. Vuonna Yleistä valintaikkunassa, kirjoitamme koodin.

Koska asialistallamme on löytää Tiedostonimi polunnimestä, asetamme koko polunnimen (tiedostojen juuresta tiedostoon) ja koodimme on seuraava

 Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Myynnit_tammikuussa.xlsx") MsgBox FN End Sub 

Tässä koodissamme olemme asettaneet polun nimeksi E:\Exceldemy\Myynti_tammikuussa.xlsxx

Koodin erittely:

  • Aluksi ilmoitimme merkkijonomuuttujan nimeltä FN . Ja tuloksena on Dir toiminto tallennettiin tähän muuttujaan.
  • Seuraavaksi Dir funktio etsii tiedoston nimen ja palauttaa sen annetusta polusta.
  • Sitten MsgBox asettaa viestikentän kautta tapahtuvan tulostuksen. MsgBox palauttaa tulosteen viestiruudun avulla.
  • Suorita sitten koodi komennolla F5 avain.

Lopuksi olemme löytäneet tiedoston nimeltä Tammikuun_myynti.xlsx .

2. Tarkista hakemiston olemassaolo

Voimme tarkistaa hakemiston olemassaolon käyttämällä komentoa Dir Kirjoitetaan koodi, jolla tarkistetaan, onko funktio Exceldemy kansio on olemassa. Kirjoita seuraava koodi yleiseen laatikkoon ja suorita se komennolla F5 avain.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " exists" Else MsgBox "Tiedostoa ei ole olemassa" End If End Sub 

Koodin erittely:

  • Olemme ilmoittaneet kaksi muuttujaa; PN sisältää tarkistushakemistomme koko polun nimen.
  • Täällä sisällä Dir funktiossa olemme asettaneet kaksi arvoa, polunnimen ja attribuutin arvon seuraavasti vbDirectory Tämä attribuutin arvo auttaa tunnistamaan hakemiston. Ja tämän toiminnon tulos tallennetaan tiedostoon Tiedosto muuttuja.
  • Sitten tarkistetaan, onko muuttuja tyhjä vai ei. Jos havaitaan, että muuttuja ei ole tyhjä, ilmoitetaan hakemiston olemassaolosta viestiruudussa, muuten paluu ei ole olemassa.

Täällä Exceldemy hakemisto on olemassa, joten löydämme " Exceldemy on olemassa ", jossa Exceldemy on kansion nimi.

3. Luo kansio, jota ei ole olemassa

Voit luoda kansion, jota ei ole olemassa tietokoneellasi. Tätä varten sinun on luotava polkunimi, jota ei ole olemassa kansiossasi. Kuvitellaan, että aiomme luoda hakemiston nimeltä Exceldemy_1 Käytämme MkDir komennolla luodaksemme hakemiston, mutta sitä ennen meidän on kirjoitettava seuraava komento. VBA koodi.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " Tiedostokansio on olemassa" Else MkDir PN MsgBox "Tiedostokansio on luotu nimellä" & File End If End Sub 

Tässä olemme kirjoittaneet komennon, joka luo hakemiston käyttäen polunimeä tiedostosta Else lohko koodissamme. Suorita koodi, jossa on F5 avain.

Hakemisto on luotu. Katsotaanpa hakemistokansiota. The Exceldemy_1 kansio on nyt näkyvissä tietokoneellasi.

Samanlaisia lukemia:

  • Kuinka kutsua VBA:n aliohjelma Excelissä (4 esimerkkiä)
  • Arvon palauttaminen VBA-funktiossa (sekä array- että muut kuin array-arvot)
  • Käytä VBA UCASE -funktiota Excelissä (4 esimerkkiä)
  • Kuinka käyttää TRIM-toimintoa VBA: ssa Excelissä (määritelmä + VBA-koodi)

4. Ensimmäisen tiedoston etsiminen hakemistosta

Ensisijainen tehtävä on Dir funktiolla etsitään ensimmäinen tiedosto annetusta hakemistosta. Sinun tarvitsee vain antaa funktiolle polunnimi (säilytyshakemistoon asti), ja se palauttaa ensimmäisen tiedoston kyseisestä hakemistosta.

Etsitään ensimmäinen tiedosto Exceldemy Koodimme on

 Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "Ensimmäinen tiedosto: " & FN End Sub 

Näet peruskoodin; olemme siirtäneet polunnimen komentoon Dir toiminto. Nyt Suorita koodi, jossa on F5 näppäintä, löydät ensimmäisen tiedoston tästä hakemistosta.

5. Etsi kaikki tiedostot hakemistosta

Edellisessä osassa näimme, miten hakemiston ensimmäinen tiedostonimi löydetään. Tilanne voi syntyä, kun haluat löytää kaikki tiedostot tietystä hakemistosta. Jos haluat löytää kaikki tiedostot tietystä hakemistosta, sinun on kirjoitettava seuraava komento VBA koodi.

 Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Tiedostolista:" & FL) End Sub 

Tässä on kaksi muuttujaa, jotka tallentavat tiedostonimet yhtenä ( FN ) ja luettelona ( FL ). Do While silmukka iteroi kunnes hakemistossa ei ole enää yhtään tiedostoa, tämän silmukan avulla työnnämme jokaisen tiedoston nimen hakemistoon FL muuttuja.

Suorita koodi, ja löydät kaikki tiedostot hakemistosta, kuten alla olevassa kuvassa.

6. Kaikkien tiedostojen ja kansioiden etsiminen hakemistosta

Olemme maininneet edellisessä osassa, mistä kaikki tiedostot löytyvät. Voimme myös löytää kaikki kansion alikansiot. Kirjoita tätä varten seuraava komento VBA koodi, jonka olemme liittäneet alla olevaan.

 Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN; AN = Dir() Loop MsgBox ("File Lst:" & Lst) End Sub 

Muutos koodissamme on vain attribuuttiparametrien käyttö. Olemme käyttäneet komentoa vbDirectory kyseisellä alalla. Suorita koodi, ja löydät kaikki tiedostot ja alikansiot, jotka ovat Exceldemy_Folder .

7. Kaikkien tietyn tyyppisten tiedostojen etsiminen

Käyttämällä VBA Dir funktiolla voimme löytää minkä tahansa tiedostotyypin. Tutustutaanpa esimerkin avulla.

Me löydämme .csv Koodimme on seuraavanlainen-

 Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Luettelo .csv-tiedostoista:" & FL) End Sub 

Toivottavasti olet ymmärtänyt koodin, joka käyttää samanlaista mekanismia tiedostojen etsimiseen. Polunimessä käytimme jokerimerkkiä ( * ). Tämä tähti (*) tarkoittaa, että mikä tahansa merkki mihin tahansa numeroon asti voi esiintyä. Jokerimerkkiä on käytetty siten, että tiedostonimi voi olla mikä tahansa, mutta sen on oltava merkki .csv tiedosto.

Kun suoritat koodin, se palauttaa koodin nimeksi .csv tiedostot meidän Exceldemy hakemisto.

Harjoitusosio

Olemme antaneet harjoitusosion jokaiselle arkille oikealle puolelle harjoitusta varten. Tee se itse.

Päätelmä

Siinä kaikki tämänpäiväisestä istunnosta. Ja nämä ovat muutamia helppoja esimerkkejä siitä, miten VBA Dir funktio Excelissä. Kerro meille kommenttiosioon, jos sinulla on kysyttävää tai ehdotuksia. Parempaa ymmärrystä varten lataa harjoituslomake. Käy verkkosivuillamme, Exceldemy , yhden luukun Excel-ratkaisujen tarjoaja, saadaksesi tietoa erilaisista Excel-menetelmistä. Kiitos kärsivällisyydestäsi tämän artikkelin lukemisessa.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.