Ynhâldsopjefte
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.