Funkcia VBA DIR - Ako používať funkciu Excel VBA DIR?

Funkcia Excel VBA DIR

Funkcia VBA DIR je tiež známa ako adresárová funkcia, jedná sa o zabudovanú funkciu vo VBA, ktorá sa používa na získanie názvu súboru daného súboru alebo priečinka, ale musíme poskytnúť cestu k súboru, výstup vrátený týmto Funkcia je reťazec, pretože vracia názov súboru, k tejto funkcii existujú dva argumenty, ktorými sú názov cesty a atribúty.

Funkcia DIR vráti úplne prvý názov súboru v určenej ceste k priečinku. Napríklad na vašom disku D, ak máte názov priečinka s názvom 2019, a v tomto priečinku, ak excelujete súbor s názvom „2019 Sales“, môžete k tomuto súboru získať prístup pomocou funkcie DIR.

Funkcia „VBA DIR“ je veľmi užitočná pri získavaní názvu súboru pomocou priečinka s cestou.

Syntax

Táto funkcia má dva voliteľné argumenty.

  • (Názov cesty): Ako hovorí názov, aká je cesta k prístupu k súboru. Môže to byť názov súboru, priečinka alebo adresára. Ak nie je priradená žiadna cesta, vrátim prázdnu hodnotu reťazca, tj „
  • (Atribúty): Toto je tiež voliteľný argument a nemusíte ho pri kódovaní používať veľmi často. Atribút súboru môžete určiť v položke (Názov cesty) a funkcia DIR vyhľadá iba tieto súbory.

Napríklad: Ak chcete získať prístup iba k skrytým súborom, ak chcete získať prístup iba k súborom iba na čítanie atď., Môžeme v tomto argumente určiť. Ďalej uvádzame atribúty, ktoré môžeme použiť.

Príklady použitia funkcie VBA DIR

Príklad č. 1 - Prístup k názvu súboru pomocou funkcie DIR

Vysvetlím vám jednoduchý príklad prístupu k názvu súboru pomocou funkcie DIR. Postupujte podľa nasledujúcich krokov.

Krok 1: Vytvorte názov makra.

Krok 2: Definujte premennú ako String .

Kód:

Sub Dir_Example1 () Dim MyFile ako reťazec End Sub

Krok 3: Teraz tejto premennej priradíme hodnotu pomocou funkcie DIR .

Kód:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir (End Sub

Krok 4: Teraz skopírujte a prilepte cestu k priečinku so súbormi v počítači. Názov cesty uveďte v úvodzovkách.

Kód:

Sub Dir_Example1 () Dim MyFile ako reťazec MyFile = Dir ("E: VBA šablóna End Sub

Krok 5: Spomenul som svoju cestu k priečinku, teraz musíme spomenúť aj názov súboru a jeho príponu. Aby sme to urobili ako prvé, musíme urobiť spätné lomítko za cestou ()

Po zadaní spätného lomítka musíme zadať celý názov súboru .

Kód:

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

Krok 6: Zobraziť hodnotu premennej v okne správy.

Kód:

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

Teraz spustite kód a uvidíte, aký je výsledok okna so správou.

Funkcia DIR teda vrátila názov súboru s príponou súboru.

Príklad č. 2 - Otvorte súbor pomocou funkcie DIR

Ako teraz otvoríme súbor? Táto funkcia môže vrátiť názov súboru, ale otvorenie tohto súboru je trochu iný proces. Súbor otvorte podľa nasledujúcich pokynov.

Krok 1: Vytvorte dve premenné ako reťazec .

Kód:

Sub Dir_Example2 () Stlmiť názov priečinka ako reťazec Zmeniť názov súboru ako reťazec Koniec Sub

Krok 2: Teraz pre premennú FolderName priraďte cestu k priečinku.

Kód:

Sub Dir_Example2 () Stlmiť názov priečinka ako reťazec Dimovať názov súboru ako reťazec Názov priečinka = "E: Šablóna VBA " Koniec Sub

Krok 3: Teraz musíme pre premennú FileName získať názov súboru pomocou funkcie DIR .

Kód:

Sub Dir_Example2 () Stlmiť názov priečinka ako reťazec Stlmiť názov súboru ako reťazec Názov priečinka = "E: Šablóna VBA " Názov súboru = Adresár (End Sub

Krok 4: Teraz sme pre názov cesty už priradili cestu k premennej FolderPath, takže tu môžeme priamo zadať premennú.

Kód:

Sub Dir_Example2 () Stlmiť názov priečinka ako reťazec Stlmiť názov súboru ako reťazec Názov priečinka = "E: Šablóna VBA " Názov súboru = Dir (Názov priečinka Koniec Sub

Krok 5: Teraz musíme zadať názov súboru. Pomocou symbolu ampersand (&) priraďte názov súboru.

Kód:

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 ako String FileName = Dir ("E: VBA Template ", vbDirectory) Do While FileName "" Debug.Print FileName FileName = Dir () Loop End Sub

Okamžité okno zviditeľníte stlačením kombinácie klávesov Ctrl + G.

Teraz spustite kód. V bezprostrednom okne dostaneme všetky názvy súborov.

Zaujímavé články...