VBA DIR funkcija - Kā izmantot Excel VBA DIR funkciju?

Satura rādītājs

Excel VBA DIR funkcija

VBA DIR funkcija ir pazīstama arī kā direktorijas funkcija, tā ir iebūvēta funkcija VBA, kas tiek izmantota, lai mums dotu konkrēta faila vai mapes faila nosaukumu, bet mums jānorāda faila ceļš, šī atgrieztā izeja funkcija ir virkne, jo tā atgriež faila nosaukumu, šai funkcijai ir divi argumenti, kas ir ceļa nosaukums un atribūti.

Funkcija DIR atgriež pirmo faila nosaukumu norādītajā mapes ceļā. Piemēram, D diskā, ja jums ir mapes nosaukums ar nosaukumu 2019, un šajā mapē, ja izceļat failu ar nosaukumu “2019 Sales”, varat piekļūt šim failam, izmantojot funkciju DIR.

Funkcija “VBA DIR” ir ļoti noderīga, lai iegūtu faila nosaukumu, izmantojot tā ceļa mapi.

Sintakse

Šai funkcijai ir divi neobligāti argumenti.

  • (Ceļa nosaukums): Kā norāda nosaukums, kāds ir ceļš, lai piekļūtu failam. Tas varētu būt arī faila nosaukums, mapes nosaukums vai direktorijs. Ja kāds ceļš nav piešķirts, es atgriezīšu tukšu virknes vērtību, ti, “
  • (Atribūti): Šis ir arī izvēles arguments, un jūs, iespējams, to neizmantojat kodēšanā. Faila atribūtu var norādīt mapē (Ceļa nosaukums), un funkcija DIR meklē tikai šos failus.

Piemēram: Ja vēlaties piekļūt tikai slēptiem failiem, ja vēlaties piekļūt tikai lasāmiem failiem utt., Mēs varam norādīt šajā argumentā. Zemāk ir atribūti, kurus mēs varam izmantot.

VBA DIR funkcijas izmantošanas piemēri

1. piemērs - Piekļuve faila nosaukumam, izmantojot funkciju DIR

Es jums paskaidrošu vienkāršu piemēru, kā piekļūt faila nosaukumam, izmantojot funkciju DIR. Veiciet tālāk norādītās darbības.

1. darbība: izveidojiet makro nosaukumu.

2. darbība: definējiet mainīgo kā virkni .

Kods:

Sub Dir_Example1 () Aptumšot MyFile kā virknes beigas Sub

3. solis: Tagad šim mainīgajam mēs piešķirsim vērtību, izmantojot funkciju DIR .

Kods:

Sub Dir_Example1 () Dim MyFile kā virkne MyFile = Dir (End Sub

4. solis: Tagad nokopējiet un ielīmējiet failu mapes ceļu savā datorā. Pieminiet ceļa nosaukumu divkāršās pēdiņās.

Kods:

Sub Dir_Example1 () Dim MyFile kā virkne MyFile = Dir ("E: VBA veidnes beigu apakšdaļa

5. solis: Esmu minējis savu ceļu uz mapi, tagad mums jāpiemin arī faila nosaukums un tā paplašinājums. Lai izdarītu šo pirmo lietu, mums ir jāievieto atpakaļ slīpsvītra pēc ceļa ()

Pēc slīpsvītras ievadīšanas mums jāievada pilns faila nosaukums .

Kods:

Sub Dir_Example1 () Dim MyFile kā virkne MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") Beigas Sub

6. darbība: ziņojuma lodziņā parādiet mainīgā vērtību.

Kods:

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

Tagad palaidiet kodu un uzziniet, kāds ir ziņojuma lodziņa rezultāts.

Tātad funkcija DIR atgrieza faila nosaukumu ar faila paplašinājumu.

2. piemērs - atveriet failu, izmantojot funkciju DIR

Tagad kā mēs atveram failu? Šī funkcija var atgriezt faila nosaukumu, taču šī faila atvēršana ir nedaudz atšķirīgs process. Lai atvērtu failu, veiciet tālāk norādītās darbības.

1. darbība: izveidojiet divus mainīgos kā virkni .

Kods:

Sub Dir_Example2 () Dim FolderName kā virkne Dim FileName kā virknes beigas Sub

2. solis: Tagad mainīgajam FolderName piešķiriet mapes ceļu.

Kods:

Sub Dir_Example2 () Dim FolderName kā virkne Dim FileName kā String FolderName = "E: VBA veidne " Beigas Sub

3. solis: Tagad mainīgajam FileName mums jāiegūst faila nosaukums, izmantojot funkciju DIR .

Kods:

Sub Dir_Example2 () Dim FolderName kā virkne Dim FileName kā String FolderName = "E: VBA veidne " FileName = Dir (End Sub

4. solis: Tagad ceļa nosaukumam mēs jau esam piešķīruši ceļu mainīgajam FolderPath, tāpēc šeit var tieši piegādāt mainīgo.

Kods:

Sub Dir_Example2 () Dim FolderName kā virkne Dim FileName kā String FolderName = "E: VBA veidne " FileName = Dir (FolderName End Sub

5. solis: Tagad mums jānorāda faila nosaukums. Izmantojot faila simbolu (&), piešķiriet faila nosaukumu.

Kods:

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_Example4 () Dim FileName kā virkne FileName = Dir ("E: VBA Template ", vbDirectory) Dariet, kamēr FileName "" Atkļūdot. Drukāt FileName FileName = Dir () Loop End Sub

Padariet redzamo tūlītējo logu, nospiežot Ctrl + G.

Tagad palaidiet kodu. Mēs saņemsim visus failu nosaukumus tūlītējā logā.

Interesanti raksti...