Функция 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. Перейдите на вкладку « Разработчики » и нажмите на Visual Basic

Шаг 2: Откройте модуль из меню «Вставка», как показано ниже.

Шаг 3: Чтобы запустить любой макрос, сначала нам нужно дать имя макросу с ключевым словом «sub», как показано ниже.

Код:

 Sub myexample1 () End Sub 

Помните, что мы пишем наш код в «Module1», когда вводим «sub myexample ()», автоматически появляется «End sub».

Шаг 4: Определите строку, используя ключевое слово « Dim », которое относится к измерению. На скриншоте ниже «mystring» - это имя строки.

Код:

 Sub myexample1 () Dim mystring As String End Sub 

Помните, что когда вы определяете имена типов данных или имен программ, между двумя словами не должно быть пробелов. «Mystring» нет пробела между «my» и «string».

Файл доступен в папке примеров, которая доступна на рабочем столе, и имя файла - «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 и начните с присвоения имени программы «example2» или любого имени, которое вы пожелаете.

Код:

 Sub example2 () End Sub 

Шаг 2: Определите две строки с именами «Foldername» и «Filename».

Код:

 Sub example2 () Dim Foldername As String Dim Имя файла As String End Sub 

Шаг 3: Теперь назначьте путь к папке с именем папки.

Код:

 Sub example2 () Dim Foldername As String Dim Имя файла As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Шаг 4. Назначьте файл «filename» с помощью функции Dir. Здесь мы использовали переменную «Foldername», потому что она имеет путь к папке. С помощью амперсанда мы добавили имя файла в путь.

Код:

 Sub example2 () Dim Foldername As String Dim Имя файла As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Foldername & "KT Tracker mine.xlsx") End Sub 

Теперь функция Dir возвращает имя файла и будет хранить его в переменной «имя файла».

Шаг 5: В предыдущем примере мы использовали окно сообщения, чтобы увидеть результаты. Но в этом мы хотим открыть файл, поэтому будем использовать команду «workbooks.open».

Код:

 Sub example2 () Dim Foldername As String Dim Имя файла As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Foldername & "KT Tracker mine.xlsx") Рабочие книги. Открытое имя папки и имя файла Конец Sub 

Шаг 6: Запустите приведенный выше код, он откроет файл, доступный в папке «C: \ Users \ cba_13 \ Desktop \ Sample \» с именем файла «KT Tracker mine».

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

Теперь мы увидим программу, чтобы узнать, доступна ли папка или нет. У меня есть папка «Данные», как показано ниже.

Мы должны проверить с помощью функции Dir, доступна ли папка «Data» по пути 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) End 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 = "Data", то MsgBox ("Exits") End Sub 

Шаг 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 = "Data", то MsgBox ("Exits") иначе MsgBox ("Not Exits") End Sub 

Шаг 6: Завершите цикл «Если», как показано на скриншоте ниже.

Код:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Если Fd1 = "Data", то MsgBox ("Exits") иначе MsgBox ("Not Exits") End If End Sub 

Шаг 7: Запустите код, нажав клавишу F5 или нажав кнопку Play, чтобы проверить, доступна ли папка или нет. Если в этой папке есть папка «Данные», она вернет окно с сообщением «Существует», как показано ниже.

Шаг 8: Просто измените имя папки на Data1.

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Если Fd1 = "Data", то MsgBox ("Exits") иначе MsgBox ("Not Exits") End If End Sub 

Шаг 9: Запустите код еще раз. Теперь результат «Не существует», как показано ниже.

То, что нужно запомнить

  • Аргументы в функции Dir являются необязательными.
  • Если нам нужны скрытые файлы, папки или каталоги другого типа, укажите ваше требование во втором аргументе.
  • Используйте «\» в конце имени папки, указав функцию Dir, чтобы войти в папку.
  • Если мы хотим позвонить или открыть несколько файлов, мы можем использовать подстановочный знак «*» или «?».

Рекомендуемые статьи

Это руководство к функции VBA DIR. Здесь мы обсудим, как использовать функцию DIR в Excel VBA вместе с некоторыми практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Рабочая тетрадь VBA
  2. НЕПРАВИЛЬНАЯ функция в Excel
  3. VBA Count
  4. Функция Excel XOR

Категория: