VBA DIR funkció | Hogyan kell használni az Excel VBA DIR függvényt?

Excel VBA DIR függvény

A VBA DIR függvény könyvtárfunkcióként is ismert, ez egy beépített függvény a VBA-ban, amelyet arra használunk, hogy megadjuk egy adott fájl vagy mappa fájlnevét, de meg kell adnunk a fájl elérési útját, az ezzel visszaadott kimenetet A függvény string, mivel visszaadja a fájl nevét, ennek a függvénynek két argumentuma van, amelyek az útvonal neve és az attribútumok.

A DIR függvény a megadott mappaútvonal első fájlnevét adja vissza. Például a D Drive-on, ha van egy 2019 nevű mappa neve, és abban a mappában, ha kiemeli a „2019 Sales” nevű fájlt, akkor a DIR függvény segítségével érheti el ezt a fájlt.

A „VBA DIR” funkció nagyon hasznos a fájl nevének megszerzéséhez az elérési út mappája használatával.

Szintaxis

Ennek a függvénynek két opcionális argumentuma van.

  • [Útvonal neve]: Amint a név megmondja, mi az út a fájl eléréséhez. Ez lehet a fájl neve, a mappa vagy a könyvtár neve is. Ha bármelyik útvonal nincs hozzárendelve, akkor üres karakterláncot adok vissza, azaz ""
  • [Attribútumok]: Ez szintén nem kötelező argumentum, és előfordulhat, hogy ezt nem nagyon használja a kódolás során. A fájl attribútumát megadhatja az [Útvonal neve] mezőben, és a DIR funkció csak ezeket a fájlokat keresi.

Például: Ha csak rejtett fájlokhoz szeretne hozzáférni, ha csak olvasható fájlokhoz szeretne hozzáférni, stb ... megadhatjuk ebben az argumentumban. Az alábbiakban bemutatjuk azokat az attribútumokat, amelyeket felhasználhatunk.

Példák a VBA DIR függvény használatára

Ezt a VBA Dir Excel sablont innen töltheti le - VBA Dir Excel sablont

1. példa - A fájlnév elérése a DIR funkció segítségével

Elmagyarázom Önnek azt az egyszerű példát, hogy miként érheti el a fájlnevet a DIR függvény segítségével. Kövesse az alábbi lépéseket.

1. lépés: Hozzon létre egy makrónevet.

2. lépés: Határozza meg a változót karakterláncként .

Kód:

 Sub Dir_Példa1 () Dim MyFile mint karakterlánc vége Sub 

3. lépés: Most ehhez a változóhoz a DIR függvény segítségével rendelünk hozzá értéket .

Kód:

 Sub Dir_Példa1 () Dim MyFile mint karakterlánc MyFile = Dir (End Sub 

4. lépés: Most másolja és illessze be a fájlmappa elérési útját a számítógépére. Adja meg az útvonal nevét dupla idézőjelben.

Kód:

 Sub Dir_Példa1 () Dim MyFile mint karakterlánc MyFile = Dir ("E: \ VBA Template End Sub 

5. lépés: Említettem az utamat a mappához, most meg kell említenünk a fájl nevét és kiterjesztését is. Ehhez először meg kell tennünk egy visszahúzót az út után (\)

A visszavágás bevitele után meg kell adnunk a teljes fájlnevet .

Kód:

 Sub Dir_Példa1 () Dim MyFile mint karakterlánc MyFile = Dir ("E: \ VBA sablon \ VBA Dir Excel Template.xlsm") Vége Sub 

6. lépés: Mutassa meg a változó értékét az üzenetmezőben.

Kód:

 Sub Dir_Example1 () Dim MyFile mint karakterlánc MyFile = Dir ("E: \ VBA sablon \ VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub 

Most futtassa a kódot, és nézze meg, mi az eredménye az üzenetmezőnek.

Tehát a DIR függvény visszaadta a fájl nevét a fájl kiterjesztésével.

2. példa - Nyissa meg a fájlt a DIR függvény használatával

Most hogyan nyissuk meg a fájlt? Ez a függvény visszaadhatja a fájlnevet, de a fájl megnyitása egy kicsit más folyamat. Kövesse az alábbi lépéseket a fájl megnyitásához.

1. lépés: Hozzon létre két változót karakterláncként .

Kód:

 Sub Dir_Példa2 () Dim FolderName mint karakterlánc Dim FileName mint karakterlánc vége Sub 

2. lépés: Most a FolderName változóhoz rendelje hozzá a mappa elérési útját.

Kód:

 Sub Dir_Példa2 () Dim FolderName mint karakterlánc Dim FileName mint karakterlánc FolderName = "E: \ VBA sablon \" End Sub 

3. lépés: Most a FileName változóhoz meg kell szereznünk a fájl nevét a DIR függvény használatával .

Kód:

 Sub Dir_Példa2 () Dim FolderName mint karakterlánc Dim FileName mint karakterlánc FolderName = "E: \ VBA sablon \" FileName = Dir (End Sub 

Step 4: Now for Path Name we have already assigned a path to the variable FolderPath, so we can directly supply the variable here.

Code:

 Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:\VBA Template\" FileName = Dir(FolderName End Sub 

Step 5: Now we need to supply the file name. By using the ampersand symbol (&) assign the file name.

Code:

 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 – Open Multiple 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 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:

 Sub Dir_Example4() Dim FileName As String FileName = Dir("E:\VBA Template\", vbDirectory) Do While FileName  "" Debug.Print FileName FileName = Dir() Loop End Sub 

Make the immediate window visible by pressing Ctrl + G.

Now run the code we will get all the file names in the immediate window.