VBA DIR функция - Как да използвам Excel VBA DIR функция?

Съдържание

Excel VBA DIR функция

Функцията VBA DIR е известна също като функция на директорията, това е вградена функция във VBA, която се използва, за да ни даде името на файла на даден файл или папка, но трябва да предоставим пътя за файла, изхода, върнат от това Функцията е низ, тъй като връща името на файла, има два аргумента към тази функция, които са името на пътя и атрибутите.

Функцията DIR връща първото име на файла в посочения път на папката. Например във вашия D диск, ако имате име на папка, наречена 2019, и в тази папка, ако превъзхождате файл с име „Продажби 2019“, тогава можете да получите достъп до този файл, като използвате функцията DIR.

Функцията „VBA DIR“ е много полезна за получаване на името на файла, като се използва папката с неговия път.

Синтаксис

Тази функция има два незадължителни аргумента.

  • (Име на пътя): Както казва името, какъв е пътят за достъп до файла. Това може да е името на файла, името на папката или директорията. Ако някакъв път не е зададен, ще върна празна стойност на низ, т.е. „
  • (Атрибути): Това също е незадължителен аргумент и може да не използвате това много често при кодиране. Можете да посочите атрибута на файла в (Име на пътя) и функцията DIR търси само тези файлове.

Например: Ако искате да получите достъп само до скрити файлове, ако искате да получите достъп само до файлове само за четене и т.н. … ние можем да посочим в този аргумент. По-долу са атрибутите, които можем да използваме.

Примери за използване на VBA DIR функция

Пример # 1 - Достъп до името на файла чрез DIR функция

Ще ви обясня простия пример за достъп до името на файла чрез функцията DIR. Следвайте стъпките по-долу.

Стъпка 1: Създайте име на макрос.

Стъпка 2: Определете променливата като String .

Код:

Sub Dir_Example1 () Затъмняване на MyFile като низ в края Sub

Стъпка 3: Сега за тази променлива ще присвоим стойност, като използваме функцията DIR .

Код:

Sub Dir_Example1 () Dim MyFile като низ MyFile = Dir (End Sub

Стъпка 4: Сега копирайте и поставете пътя на папката с файлове на вашия компютър. Споменете името на пътя в двойни кавички.

Код:

Sub Dir_Example1 () Dim MyFile като низ MyFile = Dir ("E: VBA Шаблон Край Sub

Стъпка 5: Споменах пътя си към папката, сега трябва да споменем и името на файла и неговото разширение. За да направим това първо нещо, което трябва да направим, е да поставим обратна наклонена черта след пътя ()

След въвеждане на обратната наклонена черта, трябва да въведем пълното име на файла .

Код:

Sub Dir_Example1 () Dim MyFile като низ MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") End Sub

Стъпка 6: Покажете стойността на променливата в полето за съобщение.

Код:

Sub Dir_Example1 () Dim MyFile като низ MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub

Сега стартирайте кода и вижте какъв е резултатът от полето за съобщение.

Така че функцията DIR връща името на файла с разширението на файла.

Пример # 2 - Отворете файла с помощта на DIR функция

Сега как да отворим файла? Тази функция може да върне името на файла, но отварянето на този файл е малко по-различен процес. Следвайте стъпките по-долу, за да отворите файла.

Стъпка 1: Създайте две променливи като String .

Код:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String End Sub

Стъпка 2: Сега за променливата FolderName задайте пътя към папката.

Код:

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

Стъпка 3: Сега, за променливата FileName, трябва да получим името на файла, като използваме функцията DIR .

Код:

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

Стъпка 4: Сега, за Path Name, вече сме задали път към променливата FolderPath, така че можем директно да предоставим променливата тук.

Код:

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

Стъпка 5: Сега трябва да предоставим името на файла. Като използвате символа за амперсанд (&), задайте името на файла.

Код:

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

Направете незабавния прозорец видим, като натиснете Ctrl + G.

Сега стартирайте кода. Ще получим всички имена на файлове в непосредствения прозорец.

Интересни статии...