Kā lietot VBA DIR funkciju programmā Excel (7 praktiski piemēri)

  • Dalīties Ar Šo
Hugh West

Portāls DIR funkcija VBA galvenokārt parāda direktoriju vai failus no dotās mapes. Ar šo funkciju var arī atgriezt pirmo failu. Šai funkcijai ir daudz pielietojumu, lai iegūtu konkrētus failus un mapes. Viss, kas jums nepieciešams, ir tikai ievietot faila ceļu faila pathname no VBA kods. Jums var būt grūtāk izmantot VBA DIR kodi. Neuztraucieties, šajā rakstā mēs parādīsim jums dažus piemērus, lai labāk vizualizētu, kā izmantot VBA DIR Ceru, ka pēc šī raksta izlasīšanas jūs varēsiet šo funkciju izmantot. Tātad, sāksim.

Lejupielādēt Practice Workbook

Lejupielādējiet šādu prakses darba burtnīcu. Tā palīdzēs jums labāk izprast šo tematu.

DIR Function.xlsm

Ievads DIR funkcijā

Kopsavilkums:

Portāls VBA DIR funkcija atgriež faila vai direktorijas nosaukumu no dotā mapes ceļa. Parasti tā atgriež pirmo failu.

Sintakse:

Dir [ (pathname, [ atribūti ] ) ]

Argumenti Paskaidrojums:

Arguments Obligāti/pēc izvēles Paskaidrojums
PathName Pēc izvēles Ceļš piekļūt un norāda failu
Atribūti Pēc izvēles Konstante vai skaitliskā izteiksme norāda atbilstošo failu atribūtus

Ir daži iepriekš definēti atribūti, un tie ir šādi.

Atribūta nosaukums Apraksts
vbNormal Faili bez īpašiem atribūtiem
vbReadOnly Tikai lasīšanai paredzēti faili bez atribūtiem
vbHidden Slēptie faili bez atribūtiem
vbSystem Sistēmas faili bez atribūtiem
vbVolume Tilpuma etiķete
vbDirectory Katalogi vai mapes bez atribūtiem
vbAlias Norādītais faila nosaukums ir aizstājvārds

7 piemēri VBA funkcijas DIR izmantošanai programmā Excel

No apraksta varēja noprast, ka VBA DIR funkcija nodrošina faila nosaukumu no norādītā pathname. Izpratīsim to ar piemēru. Šeit mēs esam izveidojuši direktoriju Exceldemy_Folder Lai parādītu dažādus piemērus. Šajā mapē ir dažādas nelielas mapes un faili.

1. Atrodiet faila nosaukumu no ceļa

Mūsu mapē mēs varam atrast konkrētu failu, deklarējot faila nosaukuma ceļu.

Pēc faila ceļa kopēšanas ir nepieciešams palaist kodu.

Šī iemesla dēļ dodieties uz Izstrādātājs cilne>> izvēlēties Visual Basic . Tad dodieties uz Ievietot cilne>> atlasiet Modulis. In the Vispārīgi dialoglodziņā rakstām kodu.

Tā kā mūsu darba kārtībā ir atrast Datnes nosaukums no pathname, mēs iestatīsim pilnu pathname (no pašas saknes uz failu) un mūsu kods būs šāds.

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

Šeit mūsu kodā mēs esam iestatījuši pathname kā E:\Exceldemy\Sales_of_January.xlsx

Koda sadalījums:

  • Sākotnēji mēs deklarējām virknes mainīgo ar nosaukumu FN . Un Dir funkcija tika saglabāta šajā mainīgajā.
  • Tālāk Dir funkcija atrod faila nosaukumu un atgriež to no norādītā ceļa.
  • Tad MsgBox nosaka izvades signālu, izmantojot ziņojumu lodziņu. MsgBox atgriež rezultātu, izmantojot ziņojumu lodziņu.
  • Pēc tam palaidiet kodu ar F5 atslēga.

Beidzot esam atraduši failu ar nosaukumu Janvāra pārdošanas rezultāti.xlsx .

2. Pārbaudiet direktorija esamību

Mēs varam pārbaudīt direktorija esamību, izmantojot Dir funkciju. Uzrakstīsim kodu, lai pārbaudītu, vai Exceldemy Vispārīgajā lodziņā ierakstiet šādu kodu un palaidiet to ar F5 atslēga.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & amp; " exists" Else MsgBox "Faila nav" End If End Sub 

Koda sadalījums:

  • Mēs esam deklarējuši divus mainīgos; PN ir mūsu pārbaudes direktorija pilns pathname.
  • Šeit iekšpusē Dir funkcija, mēs esam iestatījuši divas vērtības - pathname un atribūta vērtību kā vbDirectory . Šī atribūta vērtība palīdzēs noteikt direktoriju. Un šīs funkcijas rezultāts tiek saglabāts direktorijā Failu mainīgs.
  • Pēc tam pārbaudām, vai mainīgais ir vai nav tukšs. Ja konstatējam, ka mainīgais nav tukšs, tad paziņojuma lodziņā paziņojam par direktorija pastāvēšanu, pretējā gadījumā atgriešanās nav.

Šajā gadījumā Exceldemy direktorija pastāv, tāpēc mēs atradīsim " Exceldemy eksistē ", kur Exceldemy ir mapes nosaukums.

3. Izveidojiet mapi, kas neeksistē

Varat izveidot mapi, kas jūsu datorā neeksistē. Šim nolūkam jums ir jāizveido mapēs neeksistējošs ceļa nosaukums. Iedomāsimies, ka mēs izveidosim direktoriju ar nosaukumu Exceldemy_1 . Mēs izmantosim MkDir komandu, lai izveidotu direktoriju, bet pirms tam mums ir jāuzraksta šāds VBA kods.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " Failu mape pastāv" Else MkDir PN MsgBox "Failu mape ir izveidota ar nosaukumu" & File End If End Sub End Sub 

Šeit mēs esam uzrakstījuši komandu, lai izveidotu direktoriju, izmantojot pathname no Citādi mūsu koda bloku. Palaist kodu ar F5 atslēga.

Katalogs ir izveidots. Aplūkosim direktoriju mapi. Exceldemy_1 mape tagad ir redzama datorā.

Līdzīgi lasījumi:

  • Kā izsaukt apakšprogrammu VBA programmā Excel (4 piemēri)
  • Vērtības atgriešana VBA funkcijā (gan masīva, gan ne-masīva vērtības)
  • VBA UCASE funkcijas izmantošana programmā Excel (4 piemēri)
  • Kā lietot TRIM funkciju VBA programmā Excel (definīcija + VBA kods)

4. Atrodiet pirmo failu direktorijā

Galvenais uzdevums Dir funkcija ir atrast pirmo failu norādītajā direktorijā. Viss, kas jums jānorāda funkcijas iekšpusē, ir ceļa nosaukums (līdz pat konteinera direktorijai), un tā atgriezīs pirmo failu no šīs direktorijas.

Atradīsim pirmo failu no mūsu Exceldemy katalogs. Mūsu kods būs

 Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "Pirmais fails: " & amp; FN End Sub 

Jūs varat redzēt pamata kodu; mēs esam nodevuši pathname uz Dir funkcija. Tagad Palaist kodu ar F5 taustiņu, šajā direktorijā atradīsiet pirmo failu.

5. Atrast visus failus no direktorija

Iepriekšējā sadaļā mēs redzējām, kā direktorijā atrast pirmā faila nosaukumu. Situācija var rasties, ja jums ir nepieciešams atrast visus failus no konkrētas direktorijas. Lai atrastu visus failus konkrētā direktorijā, jums ir jāraksta šādi. VBA kods.

 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 ("Failu saraksts:" & FL) End Sub 

Šeit ir divi mainīgie, lai saglabātu failu nosaukumus kā vienu ( FN ) un kā sarakstu ( FL ). Vai, kamēr cilpa iterē līdz brīdim, kad direktorijā nav palicis neviens fails, izmantojot šo cilpu, mēs ievietosim katru faila nosaukumu direktorijā. FL mainīgs.

Izpildiet kodu, un direktorijā atradīsiet visus failus, kā attēlā zemāk.

6. Atrodiet visus direktorijā esošos failus un mapes

Iepriekšējā sadaļā mēs jau minējām, kur atrast visus failus. Mēs varam atrast arī visas mapes apakšmapes. Lai to izdarītu, ierakstiet šādu tekstu. VBA zemāk pievienotais kods.

 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 

Izmaiņas mūsu kodā ir tikai atribūtu parametru izmantošana. Mēs esam izmantojuši vbDirectory šajā jomā. Palaist kodu, un jūs atradīsiet visus failus un apakšmapes no Exceldemy_Folder .

7. Atrast visus konkrēta tipa failus

Izmantojot VBA Dir funkciju, mēs varam atrast jebkuru konkrētu faila veidu. Izpētīsim ar piemēru.

Mēs atradīsim .csv failus no mūsu direktorija. Mūsu kods būs šāds.

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

Mēs ceram, ka esat sapratuši kodu, kurā failu meklēšanai tiek izmantots līdzīgs mehānisms. Pathname mēs izmantojām aizstājējzīmi ( * ). Šī zvaigznīte (*) apzīmē, ka var parādīties jebkurš raksturs līdz pat jebkuram skaitlim. Aizstājējzīme ir izmantota tā, ka faila nosaukums var būt jebkurš, bet tam jābūt ar rakstzīmi .csv failu.

Kad palaidīsiet kodu, tas atgriezīs .csv failus no mūsu Exceldemy katalogs.

Prakses sadaļa

Katrā lapā labajā pusē esam izveidojuši praktisko sadaļu, lai jūs varētu vingrināties. Lūdzu, izpildiet to paši.

Secinājums

Tas ir viss par šodienas sesiju. Un šie ir daži viegli piemēri, kas liecina par VBA Dir funkciju programmā Excel. Ja jums ir kādi jautājumi vai ieteikumi, lūdzu, dariet mums zināmu komentāru sadaļā. Labākai izpratnei lejupielādējiet prakses lapu. Apmeklējiet mūsu tīmekļa vietni, Exceldemy , kas ir vienas pieturas Excel risinājumu sniedzējs, lai uzzinātu par dažāda veida Excel metodēm. Paldies par jūsu pacietību, lasot šo rakstu.

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.