Як використовувати функцію DIR в Excel (7 практичних прикладів)

  • Поділитися Цим
Hugh West

На сьогоднішній день, на жаль, це не так. ДИРЕКТОР функціонувати в VBA в основному показує вам каталог або файли з даної папки. Вона також може повернути перший файл за допомогою цієї функції. Ця функція має багато застосувань для отримання певних файлів і папок. Все, що вам потрібно, це просто вставити шлях до файлу в ім'я файлу в команді VBA Можливо, вам буде складніше користуватися кодом VBA ДИРЕКТОР Не хвилюйтеся, в цій статті ми покажемо вам кілька прикладів для кращої візуалізації використання VBA ДИРЕКТОР Сподіваюсь, що після прочитання статті ви зможете нею користуватися. Отже, почнемо.

Завантажити Практичний посібник

Завантажте наступний практичний посібник, який допоможе вам краще зрозуміти тему.

DIR Function.xlsm

Вступ до функції DIR

Підсумок:

На сьогоднішній день, на жаль, це не так. VBA ДИРЕКТОР повертає ім'я файлу або каталогу із заданого шляху до папки. Умовно, вона повертає перший файл.

Синтаксис:

Dir [ (pathname, [ attributes ] ) ]

Аргументи Пояснення:

Аргумент Обов'язково/необов'язково Пояснення
Ім'я шляху За бажанням Шлях для доступу та вказує на файл
Атрибути За бажанням Константний або числовий вираз вказує атрибути файлів, що співпадають

Існує декілька заздалегідь визначених атрибутів, а саме

Атрибут Назва Опис
vbNormal Файли без певних атрибутів
vbReadOnly Файли тільки для читання без атрибутів
vbHidden Приховані файли без атрибутів
vbSystem Системні файли без атрибутів
vbVolume Етикетка об'єму
vbDirectory Каталоги або папки без атрибутів
vbAlias Вказане ім'я файлу є псевдонімом

7 Приклади використання функції VBA DIR в Excel

З опису ви могли б зрозуміти, що VBA DIR повертає ім'я файлу з наданого імені шляху. Розберемо це на прикладі. Нехай ми створили каталог Exceldemy_Folder щоб показати вам різні приклади. У цій папці є різні маленькі папки та файли.

1. знайти ім'я файлу зі шляху

У нашій папці ми можемо знайти певний файл, оголосивши шлях до імені файлу.

Після копіювання шляху до файлу потрібно запустити код.

З цієї причини, перейдіть на сторінку Розробник вкладка>> вибрати Visual Basic Потім перейдіть до Вставка вкладка>> вибрати Модуль. В рамках проекту Генеральний пишемо код.

Оскільки наш порядок денний полягає в тому, щоб знайти Ім'я файлу від pathname задамо повне ім'я шляху (від самого кореня до файлу) і наш код буде таким

 Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Sales_of_January.xlsx") MsgBox FN End Sub 

Тут в нашому коді ми встановили ім'я шляху як E:\Exceldemy\Sales_of_January.xlsx

Розбивка коду:

  • Спочатку оголошується рядкова змінна з іменем FN А на виході ми отримали Дир. було збережено в цій змінній.
  • Далі, в рамках заходу, відбулася презентація Дир. знаходить ім'я файлу та повертає його за вказаним шляхом.
  • Тоді ж відбулася MsgBox задає виведення через вікно повідомлення. MsgBox повертає вивід з використанням вікна повідомлення.
  • Потім запустіть код за допомогою команди F5 ключ.

Нарешті, ми знайшли файл з назвою Продажі_січня.xlsx .

2. перевірте наявність довідника

Перевірити наявність каталогу можна за допомогою Дир. Напишемо код, який перевіряє, чи виконується функція Ексельдемія Папка існує. Запишіть наступний код в загальне поле і запустіть його за допомогою командного рядка F5 ключ.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " існує" Else MsgBox "Файл не існує" End If End Sub 

Розбивка коду:

  • Ми оголосили дві змінні; PN містить повне ім'я нашого каталогу для перевірки.
  • Тут в рамках Дир. ми встановили два значення, ім'я шляху та значення атрибуту як vbDirectory Значення цього атрибуту допоможе визначити директорію, а вивід цієї функції зберігається у файлі Файл змінна.
  • Потім перевіряємо чи змінна пуста чи ні. Якщо виявляємо, що змінна не пуста, то оголошуємо про існування каталогу через вікно повідомлення, інакше - повернення не існує.

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

3. створити папку, якої не існує

Ви можете створити папку, яка не існує на вашому комп'ютері. Для цього ви повинні створити ім'я шляху, якого не існує у ваших папках. Уявімо, що ми збираємося створити каталог з назвою Exceldemy_1 Ми будемо використовувати MkDir для створення каталогу, але перед цим нам потрібно написати наступне VBA код.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & "Папка з файлами існує" Else MkDir PN MsgBox "Створено папку з іменем" & File End If End Sub 

Тут ми написали команду для створення каталогу з використанням імені шляху з каталогу Інакше блок нашого коду. Біжи код з кодом F5 ключ.

Каталог створено, давайте подивимося на папку каталогу. Exceldemy_1 тепер відображається на вашому комп'ютері.

Схожі читання:

  • Як викликати підлеглий елемент у VBA в Excel (4 приклади)
  • Повернення значення у функції VBA (як масивні, так і не масивні значення)
  • Використання функції VBA UCASE в Excel (4 приклади)
  • Як використовувати функцію TRIM на VBA в Excel (визначення + код VBA)

4. знайти перший файл з каталогу

Першочерговим завданням Дир. знайде перший файл у вказаному каталозі. Все, що потрібно вказати всередині функції - це ім'я шляху (аж до каталогу контейнера), і вона поверне найперший файл з цього каталогу.

Знайдемо перший файл з нашого Ексельдемія Наш код буде

 Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "Перший файл: " & FN End Sub 

Ви можете побачити основний код, ми передали ім'я шляху в Дир. функціонувати. А тепер Біжи код з кодом F5 ви знайдете перший файл у цьому каталозі.

5. знайти всі файли з каталогу

У попередньому розділі було розглянуто, як знайти перше ім'я файлу з каталогу. Може виникнути ситуація, коли потрібно знайти усі файли з деякого каталогу. Щоб знайти усі файли в деякому каталозі потрібно написати наступне VBA код.

 Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("File List:" & FL) End Sub 

Ось дві змінні для зберігання імен файлів у вигляді єдиного ( FN ), так і у вигляді переліку ( FL ). Do While цикл повторюється до тих пір, поки в каталозі не залишиться жодного файлу, використовуючи цей цикл, ми проштовхуємо кожне ім'я файлу в FL змінна.

Виконайте код, і ви знайдете всі файли в каталозі, як на зображенні нижче.

6. знайти всі файли та папки з каталогу

У попередньому розділі ми згадували, де знайти всі файли. Ми також можемо знайти всі вкладені папки в папці. Для цього потрібно написати наступне VBA код, який ми додаємо нижче.

 Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN AN = Dir() Loop MsgBox ("File Lst:" & Lst) End Sub 

Зміна в нашому коді полягає лише у використанні атрибутивних параметрів. Ми використали vbDirectory в цій галузі. Біжи код, і ви знайдете всі файли і підпапки з Exceldemy_Folder .

7. знайти всі файли певного типу

За допомогою VBA Dir можна знайти будь-який конкретний тип файлу. Розглянемо на прикладі.

Ми збираємося знайти .csv файли з нашого каталогу. Наш код буде виглядати наступним чином

 Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Список .csv файлів:" & FL) End Sub 

Сподіваємося, ви розібралися з кодом, в якому використовується схожий механізм пошуку файлів. В імені шляху ми використовували символ підстановки ( * Ця зірочка (*) означає, що може зустрічатися будь-який символ до будь-якого числа. Підстановочний знак був використаний таким чином, що ім'я файлу може бути будь-яким, але обов'язково має бути .csv файл.

Коли ви запустите код, він поверне .csv файли з нашого Ексельдемія каталог.

Практична секція

На кожному аркуші з правого боку ми надали практичну частину для Вашої практики. Будь ласка, виконайте її самостійно.

Висновок

Це все про сьогоднішню сесію. І це лише кілька простих прикладів того, що VBA Dir Будь ласка, повідомте нам у коментарях, якщо у Вас виникнуть запитання чи пропозиції. Для кращого розуміння, будь ласка, завантажте практичний посібник. Завітайте на наш сайт, Ексельдемія щоб дізнатися про різноманітні методи роботи з Excel. Дякуємо за ваше терпіння при читанні цієї статті.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.