Як перевірити, чи файл існує за допомогою vba (з прикладом)


Ви можете використовувати функцію Dir у VBA, щоб перевірити, чи існує певний файл у певній папці.

Ось поширений спосіб використання цього твердження на практиці:

 SubCheckFileExists ()

'ask user to type path to file
InputFile = InputBox(" Check if this file exists: ")

'check if file exists and output results to message box
If Dir(InputFile) <> "" Then
    MsgBox “ This File ExistsElse
    MsgBox “ This File Does Not ExistEnd If

End Sub

Цей конкретний макрос створить поле введення, де користувач може ввести повний шлях до файлу, щоб перевірити його існування.

Після того, як користувач введе шлях до файлу, макрос створить вікно повідомлення про те, існує файл чи ні.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: перевірте, чи існує файл за допомогою VBA

Припустимо, що у нас є папка, розташована в такому місці:

C:\Users\bob\Documents\current_data

Ця папка містить три файли CSV:

Припустімо, ми хочемо використовувати VBA, щоб перевірити, чи існує файл під назвою soccer_data.csv у цій папці.

Для цього ми можемо створити такий макрос:

 SubCheckFileExists ()

'ask user to type path to file
InputFile = InputBox(" Check if this file exists: ")

'check if file exists and output results to message box
If Dir(InputFile) <> "" Then
    MsgBox “ This File ExistsElse
    MsgBox “ This File Does Not ExistEnd If

End Sub

Після запуску цього макросу з’являється вікно введення, де ми можемо ввести шлях до файлу:

VBA перевіряє, чи файл існує

Ми введемо повний шлях до файлу soccer_data.csv :

Після того, як ми натиснемо OK , з’явиться вікно повідомлення, яке повідомить нам, чи існує файл у вказаній папці:

Вікно повідомлення повідомляє нам, що файл існує.

Примітка . Ви можете знайти повну документацію для функції Dir тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

Як створити папки за допомогою VBA
Як видалити папки за допомогою VBA
Як видалити файли за допомогою VBA

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *