Excel VBA: проверка наличия или отсутствия файла

  • Поделись Этим
Hugh West

Одно из самых выгодных применений Excel VBA в нашей повседневной жизни является то, что мы можем проверить, существует ли файл на нашей машине или нет. В этой статье я покажу вам, как можно проверить, существует ли файл или нет на нашем компьютере с помощью Excel VBA .

Код VBA для проверки существования или отсутствия файла (быстрый просмотр)

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "Файл не существует." Else MsgBox "Файл существует." End If End Sub 

Скачать Рабочую тетрадь для практических занятий

Скачайте эту рабочую тетрадь для тренировок, чтобы заниматься во время чтения этой статьи.

VBA Проверка существования файла.xlsm

Обзор кода VBA для проверки существования или отсутствия файла (пошаговый анализ)

Итак, без промедления перейдем к нашей сегодняшней основной дискуссии. Мы разберем по полочкам VBA код шаг за шагом, чтобы узнать, как проверить, существует ли файл или нет на наших компьютерах.

⧪ Шаг 1: Вставка необходимых данных

В самом начале кода мы должны вставить в него необходимые данные. В этом коде требуется только один ввод, и это имя файла, который мы ищем. Вставьте полное имя файла (вместе с соответствующим каталогом).

 Имя_файла = "C:\ExcelWIKI\Book1.xlsm" 

⧪ Шаг 2: Извлечение имени файла с помощью функции VBA Dir

Далее мы используем небольшой трюк. Мы используем VBA Функция Dir чтобы извлечь имя файла. Если такого файла не существует, то в поле Функция Dir вернет нулевую строку.

 Имя_файла = Dir(Имя_файла) 

⧪ Шаг 3: Проверка существования файла с помощью If-блока

Это самый важный шаг. Ранее мы уже говорили, что если файла с заданным именем не существует, функция Dir возвращает нулевую строку. Мы будем использовать это свойство в рамках функции If-block чтобы проверить, существует ли файл или нет.

 If File_Name = "" Then MsgBox "Файл не существует." Else MsgBox "Файл существует." End If 

Таким образом, полный VBA код будет:

Код VBA:

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "Файл не существует." Else MsgBox "Файл существует." End If End Sub 

Выход:

Запустите код. На моем компьютере появится окно с сообщением, "Файл существует" потому что он действительно существует на моей машине.

На вашей машине вывод может отличаться в зависимости от того, существует ли файл или нет.

Читать далее: Excel VBA: проверка существования листа (2 простых метода)

Разработка макроса для проверки наличия или отсутствия диапазона файлов с помощью Excel VBA

Здесь у нас есть набор данных в рабочем листе Excel, который содержит имена некоторых файлов вместе с каталогами в диапазоне B4:B8 .

Наша цель - разработать макрос, который будет писать Существует / Не существует после проверки наличия или отсутствия каждого из них на компьютере.

⧪ Шаг 1: Открытие окна VBA

Нажмите ALT + F11 на клавиатуре, чтобы открыть Visual Basic окно.

⧪ Шаг 2: Вставка нового модуля

Перейти к Вставка> Модуль на панели инструментов. Нажмите на Модуль . Новый модуль под названием Модуль1 (или что-нибудь другое, в зависимости от вашей прошлой истории) откроется.

⧪ Шаг 3: Ввод кода VBA

Это самый важный шаг. Вставьте следующее VBA код в модуле.

Код VBA:

 Sub Check_If_a_Range_of_File_Exist() Set Rng = ActiveSheet.Range("B4:B8") For i = 1 To Rng.Rows.Count File_Name = Dir(Rng.Cells(i, 1)) If File_Name = "" Then Rng.Cells(i, 2) = "Doesn't Exist" Else Rng.Cells(i, 2) = "Exists" End If Next i End Sub 

⧪ Шаг 5: Выполнение кода

Нажмите на Run Sub / UserForm инструмент из панели инструментов выше.

Код будет запущен. И вы получите "Существует" для файлов, которые существуют, и "Не существует" для несуществующих файлов.

Читать далее: Как проверить, существует ли значение в диапазоне в Excel (8 способов)

Заключение

Таким образом, это процесс разработки Макро чтобы отправить электронное письмо из Excel с вложением. У вас есть вопросы? Не стесняйтесь задавать их нам. И не забудьте посетить наш сайт ExcelWIKI для получения новых сообщений и обновлений.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.