Hoe kinne jo VBA DIR-funksje brûke yn Excel (7 praktyske foarbylden)

  • Diel Dit
Hugh West

De funksje DIR yn VBA lit jo benammen de map of de bestannen fan in opjûne map sjen. It kin ek de earste triem weromjaan mei dizze funksje. Dizze funksje hat in protte gebrûk om spesifike bestannen en mappen te krijen. Alles wat jo nedich hawwe om gewoan it bestânpaad yn te foegjen yn 'e paadnamme fan 'e VBA -koade. Jo kinne it dreger fine om de VBA DIR -koades te brûken. Sit gjin soargen, yn dit artikel sille wy jo wat foarbylden sjen litte foar in bettere fisualisaasje om de VBA DIR funksje te brûken. Hoopje dat jo de funksje kinne brûke nei it lêzen fan it artikel. Dus, lit ús begjinne.

Oefenwurkboek downloade

Download it folgjende oefenwurkboek. It sil jo helpe om it ûnderwerp better te begripen.

DIR Function.xlsm

Ynlieding ta de DIR-funksje

Gearfetting:

De funksje VBA DIR jout de namme fan in triem of map werom út in opjûne mappaad. Konvinsjoneel jout it it earste bestân werom.

Syntaksis:

Dir [ (pathname, [ attributes ] ) ]

Utlis fan arguminten:

Argumint Required/Optional Explanation
PadName Opsjoneel Pad om tagong te krijen ta en spesifisearje it bestân
Attributen Opsjoneel Konstante of numerike útdrukking spesifiseart de attributen fan oerienkommende triemmen

Der binne in pear foar-definieare attributen, se binne-

Attribuutnamme Beskriuwing
vbNormal Triemen sûnder spesifike attributen
vbReadOnly Allinnich-lêsbestannen sûnder attributen
vbHidden Hidden triemmen sûnder attributen
vbSystem Systeembestannen sûnder attributen
vbVolume Volume label
vbDirectory Directory of mappen sûnder attributen
vbAlias Opjûne bestânsnamme is in alias

7 Foarbylden fan it brûken fan de VBA DIR-funksje yn Excel

Ut de beskriuwing hawwe jo miskien begrepen dat de VBA DIR funksje de triemnamme fan de opjûne paadnamme. Litte wy it mei foarbyld begripe. Hjir hawwe wy in map makke Exceldemy_Folder om jo ferskate foarbylden te sjen. D'r binne ferskate lytse mappen en bestannen yn dizze map.

1. Fyn de triemnamme fan Paad

Yn ús map kinne wy ​​in spesifyk bestân fine troch it paad fan de triemnamme ferklearje.

Nei it kopiearjen fan it paad fan it bestân moatte jo de koade útfiere.

Gean dêrom nei it ljepblêd ûntwikkelder >> kies Visual Basic . Gean dan nei ljepper Ynfoegje >> selektearje Module. Yn it dialoochfinster Algemien skriuwe wy de koade.

As ús aginda is om de <1 te finen>Triemnamme fan 'e paadnamme, sille wy defolsleine paadnamme (fan 'e root oant it bestân) en ús koade sil wêze

7062

Hjir yn ús koade hawwe wy de paadnamme ynsteld as E:\Exceldemy\Sales_of_January. xlsx

Koade-ôfdieling:

  • Betiid hawwe wy in tekenrige fariabele ferklearre mei de namme FN . En de útfier fan de funksje Dir waard bewarre yn dizze fariabele.
  • Dêrnei fynt de funksje Dir de triemnamme en jout dy werom fan it opjûne paad.
  • Dan set de MsgBox de útfier yn troch it berjochtfak. De MsgBox jout útfier mei in berjochtfak.
  • Dan útfiere de koade mei de F5 kaai.

Uteinlik hawwe wy it bestân fûn mei de namme Sales_of_January.xlsx .

2. Kontrolearje it bestean fan in map

Wy kinne it bestean fan in map kontrolearje mei de Dir funksje. Litte wy de koade skriuwe om te kontrolearjen oft de map Exceldemy bestiet. Skriuw de folgjende koade op yn it algemiene fak en fier it út mei de F5 -kaai.

6460

Koade-ôfdieling :

  • Wy hawwe twa fariabelen ferklearre; PN befettet de folsleine paadnamme fan ús kontrolearjende map.
  • Hjir binnen de Dir funksje hawwe wy twa wearden ynsteld, paadnamme en it attribút wearde as vbDirectory . Dizze attribútwearde sil helpe om de map te ûntdekken. En de útfier fan dizze funksje wurdt opslein yn 'e Triem fariabele.
  • Dan hawwe wy kontrolearre oft de fariabele leech is of net. As wy fine dat de fariabele net is, ferklearje dan it bestean fan 'e map fia in berjochtfak, oars bestiet it weromkommen net.

Hjir, de Exceldemy -map bestiet, dus wy sille fine " Exceldemy bestiet ", wêr't Exceldemy de namme fan de map is.

3. Meitsje in map dy't net bestiet

Jo kinne in map oanmeitsje dy't net bestiet op jo PC. Hjirfoar moatte jo in paadnamme oanmeitsje dy't net yn jo mappen bestiet. Litte wy ús foarstelle dat wy in map sille meitsje mei de namme Exceldemy_1 . Wy sille it kommando MkDir brûke om de map te meitsjen, mar dêrfoar moatte wy de folgjende VBA -koade skriuwe.

7698

Hjir hawwe wy in kommando skreaun om de map te meitsjen mei de paadnamme fan it blok Oars fan ús koade. Rin de koade mei de F5 -kaai.

De map is oanmakke. Litte wy nei de mapmap sjen. De map Exceldemy_1 is no sichtber op jo kompjûter.

Silkene lêzingen:

  • Hoe kinne jo in sub oproppe yn VBA yn Excel (4 foarbylden)
  • In wearde weromjaan yn VBA-funksje (sawol array- as net-arraywearden)
  • Gebrûk VBA UCASE-funksje yn Excel (4 foarbylden)
  • Hoe kinne jo TRIM-funksje brûke ynVBA yn Excel (Definysje + VBA-koade)

4. Fyn it earste bestân út in map

De haadtaak fan de funksje Dir is om it earste bestân te finen yn 'e levere map. Alles wat jo yn 'e funksje moatte opjaan is de paadnamme (oant de kontenermap), en it sil it earste bestân weromjaan fan dy map.

Litte wy it earste bestân fine fan ús Exceldemy map. Us koade sil wêze

1565

Jo kinne de basiskoade sjen; wy hawwe de paadnamme trochjûn yn de funksje Dir . No Rin de koade mei de F5 -kaai, jo fine it earste bestân yn dizze map.

5. Alles fine. Bestannen fan in map

Yn 'e foarige seksje hawwe wy sjoen hoe't jo de earste triemnamme út in map fine kinne. De situaasje kin ûntstean as jo alle bestannen moatte fine fan in spesifike map. Om alle bestannen yn in spesifike map te finen, moatte jo de folgjende VBA -koade skriuwe.

2471

Hjir binne twa fariabelen om de bestânsnammen op te slaan as in single ( FN ), en as in list ( FL ). De Do While -lus iterearret oant gjin bestân bliuwt yn 'e map, mei dizze lus drukke wy elke triemnamme yn de FL fariabele.

De koade útfiere, en jo fine alle triemmen yn de map, lykas yn de ôfbylding hjirûnder.

6. Sykje alle triemmen en mappen út in map

Wyhawwe yn 'e foarige seksje neamd wêr't jo alle bestannen fine kinne. Wy kinne ek alle submappen fine yn in map. Om dit te dwaan, skriuw de folgjende VBA -koade dy't wy hjirûnder taheakke hawwe.

7446

De feroaring yn ús koade is gewoan it gebrûk fan attribútparameters. Wy hawwe de vbDirectory yn dat fjild brûkt. Rin de koade, en jo sille alle bestannen en submappen fine fan Exceldemy_Folder .

7 Fyn alle bestannen fan in spesifyk type

Mei de VBA Dir funksje kinne wy ​​elk bepaald type triem fine. Lit ús ûndersykje mei in foarbyld.

Wy sille .csv -bestannen fine út ús map. Us koade sil wêze as de folgjende-

5376

Wy hoopje dat jo de koade begrepen hawwe, dy't in ferlykber meganisme brûkt foar it finen fan bestannen. Yn de paadnamme brûkten wy in jokerteken ( * ). Dit asterisk (*) jout oan dat elk karakter oant elk nûmer kin foarkomme. It jokerteken is op sa'n manier brûkt dat de triemnamme alles wêze kin, mar in .csv -bestân wêze moat.

As jo ​​de koade útfiere, sil it de weromjaan. csv -bestannen fan ús Exceldemy -map.

Oefeningsdiel

Wy hawwe in praktyk levere seksje op elk blêd oan 'e rjochterkant foar jo praktyk. Doch it asjebleaft sels.

Konklúzje

Dat is alles oer de sesje fan hjoed. En dit binne wat maklike foarbyldenfan de VBA Dir funksje yn Excel. Lit it ús asjebleaft witte yn 'e opmerkingsdiel as jo fragen of suggestjes hawwe. Foar in better begryp, download asjebleaft it oefenblêd. Besykje ús webside, Exceldemy , in one-stop Excel-oplossingprovider, om mear te witten oer ferskate soarten Excel-metoaden. Tank foar jo geduld by it lêzen fan dit artikel.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.