Funktsioon VBA DIR - Kuidas kasutada Exceli VBA DIR-funktsiooni?

Lang L: none (table-of-contents)

Exceli VBA DIR-funktsioon

Funktsiooni VBA DIR tuntakse ka kataloogifunktsioonina, see on VBA sisseehitatud funktsioon, mida kasutatakse meile antud faili või kausta failinime andmiseks, kuid peame pakkuma faili tee, selle tagastatud väljundi funktsioon on string, kuna see tagastab faili nime, sellel funktsioonil on kaks argumenti, mis on tee nimi ja atribuudid.

Funktsioon DIR tagastab kõige esimese failinime määratud kaustateel. Näiteks kui teil on D-draivis kausta nimi nimega 2019 ja selles kaustas, kui teil on Exceli fail nimega „2019 müük”, pääsete sellele failile juurde funktsiooni DIR abil.

Funktsioonist "VBA DIR" on faili nime leidmisel selle tee kausta abil palju abi.

Süntaks

Sellel funktsioonil on kaks valikulist argumenti.

  • (Path Name): nagu nimi ütleb, milline on failile juurdepääsu tee. See võib olla ka faili nimi, kausta nimi või kataloog. Kui ühtegi rada pole määratud, tagastan tühja stringi väärtuse, st
  • (Atribuudid): See on ka valikuline argument ja te ei pruugi seda kodeerimisel eriti sageli kasutada. Faili atribuudi saate määrata jaotises (Path Name) ja funktsioon DIR otsib ainult neid faile.

Näiteks: kui soovite juurde pääseda ainult peidetud failidele, kui soovite juurde pääseda ainult kirjutuskaitstud failidele jne … saame selle argumendiga täpsustada. Allpool on atribuudid, mida saame kasutada.

Näited VBA DIR-funktsiooni kasutamiseks

Näide 1 - Juurdepääs failinimele funktsiooni DIR abil

Seletan teile lihtsat näidet failinimele juurdepääsu saamiseks funktsiooni DIR abil. Järgige alltoodud samme.

1. samm: looge makro nimi.

2. samm: määrake muutuja stringiks .

Kood:

Alamdirektor_näide1 () Hämardab minu faili stringi lõpus Alam

3. samm: määrame selle muutuja jaoks väärtuse funktsiooni DIR abil .

Kood:

Alamdir_näide1 () Dim MyFile stringina MyFile = Dir (End Sub

4. samm: kopeerige ja kleepige nüüd failikausta tee arvutisse. Mainige teekonna nimi jutumärkides.

Kood:

Alamdir_näide1 () Dim MyFile stringina MyFile = Dir ("E: VBA malli lõpp alam

5. samm: mainisin oma teed kausta, nüüd peame mainima ka failinime ja selle laiendit. Selle esimese asjana peame tegema tee taha tagasilöögi ()

Pärast tagasilöögi sisestamist peame sisestama kogu faili nime .

Kood:

Alamdir_näide1 () Dim MyFile stringina MyFile = Dir ("E: VBA mall VBA Dir Exceli mall.xlsm") Lõpeta alam

6. samm: kuvage teatekastis muutuja väärtus.

Kood:

Alamdir_näide1 () Dim MyFile stringina MyFile = Dir ("E: VBA mall VBA Dir Exceli mall.xlsm") MsgBox MyFile End Sub

Nüüd käivitage kood ja vaadake, mis on sõnumikasti tulemus.

Nii tagastas funktsioon DIR failinime koos faililaiendiga.

Näide # 2 - avage fail funktsiooni DIR abil

Kuidas faili nüüd avada? See funktsioon võib küll failinime tagastada, kuid selle faili avamine on natuke erinev protsess. Faili avamiseks toimige järgmiselt.

Samm 1: Loo kahe muutuja nagu String .

Kood:

Alamdir_näide2 () Dim kausta nimi stringina Dim failinimi stringina Lõpp alam

Etapp 2: Nüüd, FOLDERNAME muutuja määrata kausta tee.

Kood:

Alamdir_näide2 () Dim kausta nimi stringina Dim failinimi stringina FolderName = "E: VBA mall " Lõpp alam

Samm 3: Nüüd peame muutuja FileName jaoks saama faili nime funktsiooni DIR abil .

Kood:

Alamdir_näide2 () Hämarda kaustanimi stringina Dim failinimi stringina FolderName = "E: VBA mall " Failinimi = Dir (Lõpeta alam

4. samm: Nüüd oleme Path Name jaoks määranud muutujale FolderPath juba tee, nii et saame muutuja otse siia anda.

Kood:

Alamdir_näide2 () Hämarda kaustanimi stringina Dim failinimi stringina FolderName = "E: VBA mall " Failinimi = Dir (FolderName End Sub

5. samm: nüüd peame pakkuma failinime. Määrake faili nimi tähise (&) abil .

Kood:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") End Sub

Step 6: Now use the WORKBOOKS.OPEN method.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open End Sub

Step 7: File Name is a combination of FolderPath & FileName. So combine these two.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open FolderName & FileName End Sub

Now run this code. It will open the mentioned file name.

Example #3 - Multiple Open Workbooks using DIR Function

Actually, we can access all the workbooks in the folder. In order to access each and every file, we cannot mention all the file names directly, but we can use the wildcard character to refer to the file.

The asterisk (*) is one of those wildcard characters. It identifies any number of characters. For example, if you want to access all the macro files in the folder, you can use the asterisk as the wildcard i.e., “*.xlsm*.”

Here * will match any file name with the extension of the file is equal to “xlsm.”

Code:

Sub Dir_Example3() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "*.xlsm*") Do While FileName "" Workbooks.Open FolderName & FileName FileName = Dir() Loop End Sub

Now the above code will open all the files in the folder path.

FileName = Dir() the reason why I have used this line because, in order to access the next file in the folder, we have to make the existing file name to nil. The moment we make the existing file name to nil when the loop runs for the second time, it will take the next file in the folder.

Example #4 - Get all the File Names in the Folder

Suppose if you want the list of all the file names in the folder, we can also do this by using attributes.

Code:

Alam Dir_Näide4 () Hämardab failinime stringina Failinimi = Dir ("E: VBA mall ", vbDirectory) Tehke failinime ajal "" silumine. Prindi failinimi FileName = Dir () Loop End Sub

Tehke kohe aken nähtavaks, vajutades klahvikombinatsiooni Ctrl + G.

Nüüd käivitage kood. Saame kõik failinimed kohe aknasse.

Huvitavad Artiklid...