Slik bruker du VBA DIR-funksjonen i Excel (7 praktiske eksempler)

  • Dele Denne
Hugh West

DIR -funksjonen i VBA viser deg hovedsakelig katalogen eller filene fra en gitt mappe. Den kan også returnere den første filen med denne funksjonen. Denne funksjonen har mange bruksområder for å få spesifikke filer og mapper. Alt du trenger for å sette inn filbanen i banenavnet til VBA -koden. Du kan finne det vanskeligere å bruke VBA DIR -kodene. Ikke bekymre deg, i denne artikkelen skal vi vise deg noen eksempler for en bedre visualisering for å bruke VBA DIR funksjonen. Håper du vil kunne bruke funksjonen etter å ha lest artikkelen. Så la oss komme i gang.

Last ned øvelsesarbeidsbok

Last ned følgende øvelsesarbeidsbok. Det vil hjelpe deg å forstå emnet bedre.

DIR Function.xlsm

Introduksjon til DIR-funksjonen

Sammendrag:

VBA DIR -funksjonen returnerer navnet på en fil eller katalog fra en gitt mappebane. Konvensjonelt returnerer den den første filen.

Syntaks:

Dir [ (pathname, [ attributes ] ) ]

Argumentforklaring:

Argument Obligatorisk/Valgfri Forklaring
Binavn Valgfritt Bi for å få tilgang til og spesifisere filen
Attributter Valgfritt Konstant eller numerisk uttrykk spesifiserer attributtene til samsvarende filer

Det er noen få forhånds-definerte attributter, de er-

Attributtnavn Beskrivelse
vbNormal Filer uten spesifikke attributter
vbReadOnly Skrivebeskyttede filer uten attributter
vbHidden Skjult filer uten attributter
vbSystem Systemfiler uten attributter
vbVolum Volumetikett
vbDirectory Kataloger eller mapper uten attributter
vbAlias Spesifisert filnavn er et alias

7 Eksempler på bruk av VBA DIR-funksjonen i Excel

Fra beskrivelsen har du kanskje forstått at VBA DIR funksjonen gir filnavn fra det angitte banenavnet. La oss forstå det med eksempel. Her har vi laget en katalog Exceldemy_Folder for å vise deg forskjellige eksempler. Det er forskjellige små mapper og filer i denne mappen.

1. Finn filnavnet fra sti

I mappen vår kan vi finne en bestemt fil ved å erklære filnavnsbanen.

Etter at du har kopiert filens bane, må du kjøre koden.

Gå til Utvikler -fanen >> velg Visual Basic . Gå deretter til kategorien Sett inn >> velg Modul. I dialogboksen Generelt skriver vi koden.

Siden vår agenda er å finne Filnavn fra banenavnet, vil vi settefullt banenavn (fra selve roten til filen) og koden vår vil være

7944

Her i koden vår har vi satt banenavnet som E:\Exceldemy\Sales_of_January. xlsx

Kodeoversikt:

  • Til å begynne med erklærte vi en strengvariabel kalt FN . Og utdataene fra Dir -funksjonen ble lagret i denne variabelen.
  • Deretter finner Dir -funksjonen filnavnet og returnerer det fra den angitte banen.
  • Deretter setter MsgBox utdataene gjennom meldingsboksen. MsgBox returnerer utdata ved hjelp av en meldingsboks.
  • Kjør deretter koden med F5 nøkkelen.

Til slutt har vi funnet filen som heter Sales_of_January.xlsx .

2. Sjekk om det finnes en katalog

Vi kan sjekke eksistensen av en katalog ved å bruke Dir -funksjonen. La oss skrive koden for å sjekke om mappen Exceldemy eksisterer. Skriv ned følgende kode i den generelle boksen og kjør den med F5 tasten.

5564

Kodeoversikt :

  • Vi har erklært to variabler; PN inneholder hele banenavnet til kontrollkatalogen vår.
  • Her i Dir funksjonen har vi satt to verdier, banenavn og attributtet verdi som vbDirectory . Denne attributtverdien vil bidra til å oppdage katalogen. Og utgangen til denne funksjonen er lagret i Fil variabel.
  • Deretter sjekket vi om variabelen er tom eller ikke. Hvis vi finner ut at variabelen ikke er det, erklærer du eksistensen av katalogen gjennom en meldingsboks, ellers eksisterer ikke returen.

Her er Exceldemy -katalogen eksisterer, så vi finner " Exceldemy exists ", der Exceldemy er navnet på mappen.

3. Opprett en mappe som ikke eksisterer

Du kan opprette en mappe som ikke finnes på din PC. For dette må du opprette et banenavn som ikke finnes i mappene dine. La oss forestille oss at vi skal lage en katalog som heter Exceldemy_1 . Vi bruker kommandoen MkDir for å lage katalogen, men før det må vi skrive følgende VBA -kode.

2866

Her har vi skrevet en kommando for å lage katalogen ved å bruke banenavnet fra Else -blokken i koden vår. Kjør koden med F5 -tasten.

Mappen er opprettet. La oss se på katalogmappen. Exceldemy_1 mappen er nå synlig på datamaskinen din.

Lignende avlesninger:

  • Hvordan kalle en sub i VBA i Excel (4 eksempler)
  • Returnere en verdi i VBA-funksjon (både matrise- og ikke-matriseverdier)
  • Bruk VBA UCASE-funksjonen i Excel (4 eksempler)
  • Hvordan bruke TRIM-funksjonen iVBA i Excel (definisjon + VBA-kode)

4. Finn den første filen fra en katalog

Hovedoppgaven til Dir -funksjonen er for å finne den første filen i den angitte katalogen. Alt du trenger å oppgi i funksjonen er banenavnet (opp til containerkatalogen), og den vil returnere den aller første filen fra den katalogen.

La oss finne den første filen fra vår Exceldemy katalog. Koden vår vil være

8470

Du kan se den grunnleggende koden; vi har sendt banenavnet til Dir -funksjonen. Nå Kjør koden med F5 -tasten, du vil finne den første filen i denne katalogen.

5. Finn alle Filer fra en katalog

I forrige avsnitt har vi sett hvordan du finner det første filnavnet fra en katalog. Situasjonen kan oppstå når du trenger å finne alle filene fra en bestemt katalog. For å finne alle filene i en bestemt katalog, må du skrive følgende VBA -kode.

1229

Her er to variabler for å lagre filnavnene som en enkelt ( FN ), og som en liste ( FL ). Do While -løkken itererer opp til ingen fil er igjen i katalogen, ved å bruke denne løkken skyver vi hvert filnavn inn i FL variabelen.

Kjør koden, og du vil finne alle filene i katalogen, som i bildet nedenfor.

6. Finn alle filene og mappene fra en katalog

Vihar nevnt i forrige seksjon hvor du finner alle filene. Vi kan også finne alle undermappene i en mappe. For å gjøre dette, skriv følgende VBA -kode som vi har lagt ved nedenfor.

7281

Endringen i koden vår er kun bruk av attributtparametere. Vi har brukt vbDirectory i det feltet. Kjør koden, og du vil finne alle filene og undermappene til Exceldemy_Folder .

7 Finn alle filene av en bestemt type

Ved å bruke VBA Dir -funksjonen kan vi finne en bestemt type fil. La oss utforske med et eksempel.

Vi skal finne .csv -filer fra katalogen vår. Koden vår vil være som følgende-

8052

Vi håper du har forstått koden, som bruker en lignende mekanisme for å finne filer. I stinavnet brukte vi et jokertegn ( * ). Denne stjernen (*) angir at ethvert tegn opp til et hvilket som helst tall kan forekomme. Jokertegnet har blitt brukt på en slik måte at filnavnet kan være alt, men må være en .csv -fil.

Når du kjører koden, vil den returnere . csv -filer fra Exceldemy katalogen.

Øvingsseksjon

Vi har gitt en praksis seksjon på hvert ark på høyre side for din praksis. Gjør det selv.

Konklusjon

Det handler om dagens økt. Og dette er noen enkle eksemplerav VBA Dir funksjonen i Excel. Gi oss beskjed i kommentarfeltet hvis du har spørsmål eller forslag. For en bedre forståelse, last ned øvelsesarket. Besøk nettstedet vårt, Exceldemy , en one-stop Excel-løsningsleverandør, for å finne ut om ulike typer Excel-metoder. Takk for din tålmodighet ved å lese denne artikkelen.

Hugh West er en svært erfaren Excel-trener og analytiker med over 10 års erfaring i bransjen. Han har en bachelorgrad i regnskap og finans og en mastergrad i bedriftsøkonomi. Hugh har en lidenskap for undervisning og har utviklet en unik undervisningstilnærming som er enkel å følge og forstå. Hans ekspertkunnskap om Excel har hjulpet tusenvis av studenter og fagfolk over hele verden med å forbedre sine ferdigheter og utmerke seg i karrieren. Gjennom bloggen sin deler Hugh sin kunnskap med verden, og tilbyr gratis Excel-opplæringer og nettbasert opplæring for å hjelpe enkeltpersoner og bedrifter å nå sitt fulle potensial.