Excel VBA DIR функция

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

Формула за DIR функция в Excel VBA

Функцията DIR има следния синтаксис в Excel VBA:

Той има две части Pathname и Attributes.

  • Pathname: По името всеки може да разбере, че това е пътят на файла, където всъщност файлът съществува. Ако не въведем нито един път в името на пътя, той ще върне празен низ.
  • Атрибут: Това е незадължителен аргумент, ние не използваме много от това. Може да използваме това, когато искаме да отворим файла с по-долу атрибутите, тогава VBA търси тези файлове.
vbArchiveПосочва архиви или резервни файлове.
vbNormalНормални (по подразбиране) или без атрибути.
vbReadOnlyфайлове само за четене
vbSystemСистемни файлове
vbVolumeобем етикет; Ако използвате някой друг атрибут с този, тогава етикетът за том се игнорира.
vbDirectoryДиректории или папки.
vbHiddenскрити файлове
vbAliasИмето на файла е псевдоним

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

По-долу са различните примери за използване на DIR функция в Excel, използвайки VBA код.

Можете да изтеглите този шаблон на VBA DIR Excel тук - VBA DIR Excel шаблон

VBA DIR функция - пример №1

В този пример ще видим как да получите достъп до име на файл с помощта на функцията DIR в VBA.

Стъпка 1: Отидете на раздела Developers и кликнете върху Visual Basic

Стъпка 2: Отворете модул от опцията за меню Вмъкване, както е показано по-долу.

Стъпка 3: За да стартираме всеки макрос, първо трябва да дадем име на макроса с ключовата дума „под“, както е посочено по-долу.

Код:

 Sub myexample1 () End Sub 

Не забравяйте, че пишем кода си в „Module1“, когато въвеждаме „sub myexample ()“, автоматично ще се появи „End sub“.

Стъпка 4: Определете низ с помощта на ключовата дума „ Dim “, която се отнася до измерението. На снимката по-долу „mystring“ е името на низ.

Код:

 Sub myexample1 () Dim mystring като String End Sub 

Не забравяйте, че когато определяте имената на типове данни или имена на програми, не трябва да има интервал между две думи. „Mystring“ няма интервал между „my“ и „string“.

Файлът е достъпен в примерна папка, която е достъпна на Desktop, а името на файла е „KT tracker mine“.

C: \ Users \ cba_13 \ Desktop \ Sample \

Стъпка 5: Сега трябва да съхраним името на файла в „mystring“, използвайки функция Dir.

Код:

 Sub myexample1 () Dim mystring as String mystring = Dir („C: \ Users \ cba_13 \ Desktop \ Sample \") End Sub 

В горната снимка на екрана във функцията Dir, аз дадох пътя на файла с изключение на името на файла. Тъй като има само един файл, той ще върне името на файла.

Стъпка 6: Сега с горната стъпка името на файла, съхранено в низа "mystring". За да покажем името на файла, трябва да го покажем чрез поле за съобщения. Създайте поле за съобщения.

Код:

 Sub myexample1 () Dim mystring as String mystring = Dir („C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Дадохме инструкция за показване на данните в „mystring“ през полето за съобщения, тъй като „mystring“ има име на файл, което ще показва името на файла през полето за съобщение.

Стъпка 7: Сега стартирайте кода, като кликнете върху бутона Play или натиснете клавиша F5.

Функция VBA DIR - Пример №2

В този пример ще видим как да отворим файл с помощта на функцията DIR в Excel VBA.

Стъпка 1: Отворете екрана с кода на VBA и започнете, като посочите името на програмата като „пример2“ или каквото и да е име, което желаете.

Код:

 Sub example2 () Край Sub 

Стъпка 2: Определете два низа с имената „Име на папка“ и „Име на файл“.

Код:

 Sub example2 () Dim Foldername As String Dim Име на файл като String End Sub 

Стъпка 3: Сега присвойте пътя на папката към името на папката.

Код:

 Sub example2 () Dim Foldername As String Dim Име на файл като String Foldername = "C: \ Потребители \ cba_13 \ Desktop \ Sample \" Край Sub 

Стъпка 4: Присвойте файла на името на файла с помощта на функцията Dir. Тук използвахме променливата „Foldername“, защото тя има пътя на папката. С помощта на ampersand добавихме името на файла към пътя.

Код:

 Под пример2 () Dim Foldername като String Dim Име на файл като String Foldername = "C: \ Потребители \ cba_13 \ Desktop \ Sample \" Име на файл = Dir (Име на папка & "KT Tracker mine.xlsx") Край Sub 

Сега функцията Dir връща името на файла и той ще се съхранява в променливата „име на файл“.

Стъпка 5: В предишния пример използвахме полето за съобщения, за да видим резултатите. Но в това искаме да отворим файла, така че ще използваме командата „workbooks.open“.

Код:

 Под пример2 () Dim Foldername As String Dim Име на файл като String Foldername = "C: \ Потребители \ cba_13 \ Desktop \ Sample \" Име на файл = Dir (Име на папка & "KT Tracker mine.xlsx") Работни книги.Отворете име на папка и име на край Край Sub 

Стъпка 6: Изпълнете горния код, той ще отвори файла, наличен в папката „C: \ Потребители \ cba_13 \ Desktop \ Sample \“ с името на файла „KT Tracker mine“.

VBA DIR функция - пример №3

Сега ще видим програмата да разберем дали папка е налична или не. Имам папката „Данни“, както е показано по-долу.

Трябва да проверим с помощта на функцията Dir дали папката "Данни" е налична в пътя C: \ Потребители \ cba_13 \ Desktop \ Sample \.

Стъпка 1: Създайте име на програма и дефинирайте два низа с имената FD и FD1.

Код:

 Sub example3 () Dim Fd като String Dim Fd1 като String End Sub 

Стъпка 2: Задайте пътя на папката към променлива „Fd“.

Код:

 Под пример3 () Dim Fd като низ Dim Fd1 като String Fd = "C: \ Потребители \ cba_13 \ Desktop \ Sample \ Data" Край Sub 

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

Код:

 Под пример3 () Dim Fd като String Dim Fd1 като String Fd = "C: \ Потребители \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Край Sub 

Резултатът от функцията Dir трябва да бъде името на папката и ще се съхранява в променлива на низ на Fd1. Ако папката „Данни“ не е налична в съответната папка, тя няма да върне нито един низ.

Стъпка 4: Сега трябва да проверим дали Fd1 има папка „Данни“ или не. Използвайте условието IF, за да проверите дали Fd1 има низ „Данни“ или не. Ако е налице, отпечатайте изявлението като „Съществува“.

Код:

 Под пример3 () Dim Fd като String Dim Fd1 като String Fd = "C: \ Потребители \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Ако Fd1 = "Данни", тогава MsgBox ("Излиза") край подводница 

Стъпка 5: В случай, че Fd1 не съвпада с папка „Данни“, ще отпечатате изявлението „Не съществува“ в друго състояние.

Код:

 Под пример3 () Dim Fd като String Dim Fd1 като String Fd = "C: \ Потребители \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Ако Fd1 = "Данни", тогава MsgBox ("Излиза") останало MsgBox ("Не излиза") End Sub 

Стъпка 6: Прекратете цикъла „Ако“, както е показано на снимката по-долу.

Код:

 Под пример3 () Dim Fd като String Dim Fd1 като String Fd = "C: \ Потребители \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Ако Fd1 = "Данни", тогава MsgBox ("Излиза") останало MsgBox ("Не излиза") End If End Sub 

Стъпка 7: Стартирайте кода, като натиснете клавиша F5 или като кликнете върху бутона Възпроизвеждане, за да проверите дали папката е налична или не. Ако папката „Данни“ е налична в тази папка, тя ще върне полето за съобщение със съобщението „Съществува“, както е посочено по-долу.

Стъпка 8: Просто променете името на папката като Data1.

 Под пример3 () Dim Fd като String Dim Fd1 като String Fd = "C: \ Потребители \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Ако Fd1 = "Данни", тогава MsgBox ("Излиза") друго MsgBox ("Не излиза") End If End Sub 

Стъпка 9: Стартирайте кода отново. Сега резултатът е „Не съществува“, както е показано по-долу.

Неща, които трябва да запомните

  • Аргументите във функцията Dir са незадължителни.
  • Ако искаме скрити файлове, папки или различен тип директории, тогава споменете вашето изискване във втория аргумент.
  • Използвайте „\” в края на името на папката, докато въвеждате функция Dir, за да влезете в папката.
  • Ако искаме да се обадим или да отворим няколко файла, можем да използваме символа с подсказка „*” или „?”.

Препоръчителни статии

Това е ръководство за функцията VBA DIR. Тук обсъждаме как да използваме DIR функция в Excel VBA, заедно с някои практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. Работна книга на VBA
  2. Непряка функция в Excel
  3. Брой на VBA
  4. Excel XOR функция

Категория: