VBA DIR funkcija - Kaip naudotis „Excel VBA DIR“ funkcija?

„Excel VBA DIR“ funkcija

VBA DIR funkcija taip pat žinoma kaip katalogo funkcija, tai yra VBA integruota funkcija, naudojama mums suteikti tam tikro failo ar aplanko failo pavadinimą, tačiau turime nurodyti failo kelią, išvestį, kurią grąžina funkcija yra eilutė, nes ji grąžina failo pavadinimą, šiai funkcijai yra du argumentai, tai yra kelio pavadinimas ir atributai.

DIR funkcija grąžina patį pirmąjį failo pavadinimą nurodytame aplanko kelyje. Pvz., Jei D diske turite aplanko pavadinimą, vadinamą 2019, ir tame aplanke, jei excel failas pavadintas „2019 Sales“, galite pasiekti šį failą naudodami DIR funkciją.

„VBA DIR“ funkcija yra labai naudinga norint gauti failo pavadinimą naudojant jo kelio aplanką.

Sintaksė

Ši funkcija turi du pasirenkamus argumentus.

  • (Kelio pavadinimas): kaip sako pavadinimas, koks yra kelias pasiekti failą. Tai gali būti ir failo, aplanko ar katalogo pavadinimas. Jei kuris nors kelias nėra priskirtas, grąžinsiu tuščią eilutės reikšmę, ty „
  • (Atributai): Tai taip pat neprivalomas argumentas, todėl jūs negalite to naudoti dažnai. Failo atributą galite nurodyti aplanke (Kelio pavadinimas), o funkcija DIR ieško tik tų failų.

Pvz .: Jei norite pasiekti tik paslėptus failus, jei norite pasiekti tik skaitymo failus ir pan. … mes galime nurodyti šiame argumente. Žemiau pateikiami atributai, kuriuos galime naudoti.

VBA DIR funkcijos naudojimo pavyzdžiai

1 pavyzdys - failo vardo pasiekimas naudojant DIR funkciją

Aš jums paaiškinsiu paprastą pavyzdį, kaip pasiekti failo pavadinimą naudojant DIR funkciją. Atlikite toliau nurodytus veiksmus.

1 veiksmas: sukurkite makrokomandos pavadinimą.

2 žingsnis: Apibrėžkite kintamąjį kaip eilutę .

Kodas:

Sub Dir_Pavyzdys1 () pritemdyti mano failą kaip eilutės pabaigos antrinį

3 žingsnis: Dabar šiam kintamajam priskirsime vertę naudodami funkciją DIR .

Kodas:

Sub Dir_Pavyzdys1 () Dim MyFile kaip eilutė MyFile = Dir (End Sub

4 žingsnis: Dabar nukopijuokite ir įklijuokite failų aplanko kelią į savo kompiuterį. Paminėkite kelio pavadinimą dvigubomis kabutėmis.

Kodas:

Sub Dir_Example1 () Dim MyFile as String MyFile = Dir ("E: VBA Template End Sub Sub

5 žingsnis: Aš paminėjau savo kelią į aplanką, dabar mes taip pat turime paminėti failo pavadinimą ir jo plėtinį. Norėdami tai padaryti, pirmiausia turime padaryti atgalinį brūkšnį po kelio ()

Įvedę atbulinį brūkšnį, turime įvesti visą failo pavadinimą .

Kodas:

Sub Dir_Pavyzdys1 () Dim MyFile kaip eilutė MyFile = Dir ("E: VBA šablonas VBA Dir Excel šablonas.xlsm") Pabaiga Sub

6 žingsnis: pranešimo laukelyje parodykite kintamojo vertę.

Kodas:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub

Dabar paleiskite kodą ir sužinokite, koks yra pranešimo laukelio rezultatas.

Taigi funkcija DIR grąžino failo pavadinimą su failo plėtiniu.

2 pavyzdys - atidarykite failą naudodami funkciją DIR

Dabar kaip atidaryti failą? Ši funkcija gali grąžinti failo pavadinimą, tačiau to failo atidarymas yra šiek tiek kitoks procesas. Atidarykite failą atlikdami toliau nurodytus veiksmus.

1 veiksmas: sukurkite du kintamuosius kaip eilutę .

Kodas:

Sub Dir_Pavyzdys2 () Dim FolderName kaip eilutė Dim FileName kaip eilutė End Sub

2 žingsnis: Dabar kintamajam „ FolderName“ priskirkite aplanko kelią.

Kodas:

Sub Dir_Pavyzdys2 () Dim FolderName kaip eilutė Dim FileName kaip String FolderName = "E: VBA šablonas " Pabaiga Sub

3 žingsnis: Dabar kintamajam FileName turime gauti failo pavadinimą naudodami DIR funkciją .

Kodas:

Sub Dir_Pavyzdys2 () Dim FolderName kaip eilutė Dim FileName kaip String FolderName = "E: VBA šablonas " FileName = Dir (End Sub

4 žingsnis: Dabar kelio pavadinimui mes jau priskyrėme kelią kintamajam „FolderPath“, todėl čia galime tiesiogiai pateikti kintamąjį.

Kodas:

Sub Dir_Pavyzdys2 () Dim FolderName kaip eilutė Dim FileName kaip eilutė FolderName = "E: VBA šablonas " FileName = Dir (FolderName End Sub

5 žingsnis: Dabar turime pateikti failo pavadinimą. Naudodami ampersando simbolį (&), priskirkite failo pavadinimą.

Kodas:

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:

Sub Dir_Pavyzdys4 () Dim FileName kaip eilutė FileName = Dir ("E: VBA šablonas ", vbDirectory) Atlikite, kai FileName "" Derinti. Spausdinti FileName FileName = Dir () Ciklo pabaiga Sub

Padarykite tiesioginį langą matomą paspausdami „ Ctrl“ + G.

Dabar paleiskite kodą. Visus failų pavadinimus gausime tiesioginiame lange.

Įdomios straipsniai...