Satura rādītājs
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.xlsmIevads 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.