Функція DIR Excel VBA

Dir - одна з функцій, доступних у VBA. Функція Dir призначена для посилання каталогів у коді VBA.
Функція, яка повертає ім’я файлу або каталогу, що збігається з заданим атрибутом або рядком, інакше повертає перший файл або папку. Простими словами, якщо у нас папка ABC, а всередині ABC є файл XYZ, ми можемо отримати доступ до файлу XYZ за допомогою функції DIR у VBA.

Формула для функції DIR в Excel VBA

Функція DIR має такий синтаксис у Excel VBA:

Він має дві частини Pathname та Attributes.

  • Шлях: За назвою кожен може зрозуміти, що це шлях до файлу, де власне файл існує. Якщо ми не введемо жодного шляху в ім'я шляху, він поверне порожній рядок.
  • Атрибут: Це необов'язковий аргумент, ми не використовуємо багато з цього. Ми можемо використовувати це, коли хочемо відкрити файл із наведеними нижче атрибутами, тоді 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 As String End Sub 

Пам'ятайте, щоразу, коли ви визначаєте назви типів даних або назви програм, між двома словами не повинно бути пробілів. "Mystring" немає місця між "моїм" і "рядковим".

Файл доступний у папці зразка, яка доступна на робочому столі, а назва файлу - «моє KT tracker».

C: \ Користувачі \ cba_13 \ Настільний \ Зразок \

Крок 5: Тепер нам потрібно зберегти ім'я файлу у "mystring" за допомогою функції Dir.

Код:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") Кінець 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: Тепер запустіть код, натиснувши на кнопку Відтворити або натиснувши клавішу F5.

Функція VBA DIR - приклад №2

У цьому прикладі ми побачимо, як відкрити файл за допомогою функції DIR в Excel VBA.

Крок 1: Відкрийте екран коду VBA і почніть, вказавши назву програми як "example2" або будь-яке ім'я, яке ви хочете.

Код:

 Sub example2 () Кінець Sub 

Крок 2: Визначте два рядки з іменами "Ім'я папки" та "Ім'я файлу".

Код:

 Sub example2 () Dim Foldername As String Dim File Name As String End Sub 

Крок 3. Тепер призначте шлях папки до імені папки.

Код:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Кінець Sub 

Крок 4: Призначте файл "ім'я файлу" за допомогою функції Dir. Тут ми використовували змінну “Foldername”, оскільки вона має шлях до папки. За допомогою ampersand ми додали ім'я файлу до шляху.

Код:

 Sub example2 () Dim Foldername As String Dim Ім'я файлу як String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Назва файлу = Dir (Ім'я папки & "KT Tracker mine.xlsx") Кінець Sub 

Тепер функція Dir повертає ім'я файлу, і він зберігатиметься в змінній "ім'я файлу".

Крок 5: У попередньому прикладі ми використовували вікно повідомлень, щоб побачити результати. Але в цьому ми хочемо відкрити файл, тому будемо використовувати команду “workbooks.open”.

Код:

 Sub example2 () Dim Foldername As String Dim Ім'я файлу як String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Назва файлу = Dir (Ім'я папки & "KT Tracker mine.xlsx") Робочі книги. Відкрийте ім'я папки та ім'я файлу Кінець Sub 

Крок 6: Запустіть наведений вище код, він відкриє файл, доступний у папці "C: \ Користувачі \ cba_13 \ Настільний \ Зразок \" з назвою файлу "KT Tracker mine".

Функція VBA DIR - приклад №3

Тепер ми побачимо програму, щоб знати, чи доступна папка чи ні. У мене папка "Дані", як показано нижче.

Ми повинні перевірити за допомогою функції Dir, чи доступна папка "Дані" на шляху C: \ Users \ cba_13 \ Desktop \ Sample \.

Крок 1: Створіть назву програми та визначте два рядки з іменами FD та FD1.

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String End Sub 

Крок 2. Призначте шлях папки до змінної "Fd".

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Крок 3: Тепер використовуйте функцію Dir, щоб повернути ім'я папки, як показано нижче.

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Кінець Sub 

Результатом функції Dir має бути ім'я папки, і воно буде зберігатися у змінній рядку Fd1. Якщо папка "Дані" недоступна у відповідній папці, вона не поверне жодного рядка.

Крок 4: Тепер нам потрібно перевірити, чи Fd1 має папку "Дані" чи ні. Використовуйте умову IF, щоб перевірити, чи Fd1 має рядок "Дані" чи ні. Якщо вона доступна, друкуйте виписку як "Існує".

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Якщо Fd1 = "Дані", тоді MsgBox ("Виходи") Кінець Під 

Крок 5: У випадку, якщо Fd1 не відповідає папці "Дані", надрукується оператор "Не існує" в іншому стані.

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Якщо Fd1 = "Дані", тоді MsgBox ("Виходи") Else MsgBox ("Не виходить") Закінчення Sub 

Крок 6: Закінчіть цикл "If", як показано на скріншоті нижче.

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Якщо Fd1 = "Дані", тоді MsgBox ("Виходи") Else MsgBox ("Не виходить") End If End Sub 

Крок 7: Запустіть код, натиснувши клавішу F5 або натиснувши кнопку Відтворити, щоб перевірити, чи папка доступна чи ні. Якщо в цій папці доступна папка "Дані", вона поверне поле з повідомленням "Існує", як показано нижче.

Крок 8: Просто змініть ім'я папки як Data1.

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) If Fd1 = "Data", тоді MsgBox ("Exits") Else MsgBox ("Не виходить") End If End Sub 

Крок 9: Запустіть код ще раз. Тепер результат "Не існує", як показано нижче.

Що потрібно пам’ятати

  • Аргументи функції Dir необов’язкові.
  • Якщо ми хочемо приховати файли, папки чи інший тип каталогів, тоді згадуємо вашу вимогу у другому аргументі.
  • Використовуйте "\" в кінці назви папки, надаючи функцію Dir, щоб перейти до папки.
  • Якщо ми хочемо зателефонувати чи відкрити декілька файлів, ми можемо використовувати символ «*» або «?».

Рекомендовані статті

Це посібник щодо функції VBA DIR. Тут ми обговорюємо, як використовувати функцію DIR в Excel VBA разом з деякими практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Робоча книжка VBA
  2. Непряма функція в Excel
  3. Графа VBA
  4. Функція Excel XOR

Категорія: