VBA ви позволява да проверите дали файл или папка съществува, като използвате Реж функция.
Използване на командата Dir за проверка дали файл съществува
Както споменахме във въведението, Реж функцията ни позволява да проверим дали на компютъра съществува избран файл. Ето кода:
123456789101112131415 | Sub CheckFileExists ()Dim strFileName As StringDim strFileExists As StringstrFileName = "C: \ Потребители \ Nikola \ Desktop \ VBA статии \ Тестов файл съществува.xlsx"strFileExists = Dir (strFileName)Ако strFileExists = "" ТогаваMsgBox "Избраният файл не съществува"ИначеMsgBox "Избраният файл съществува"Край АкоEnd Sub |
Първо зададохме пътя на файла към променливата strFileName. След това използваме Реж функция за получаване на името на файла в променливата strFileExists. Ако файлът съществува в директорията, името му ще бъде присвоено на променливата на низ strFileExists. Ако не съществува тогава strFileExists ще остане празно. Накрая се появява полето със съобщение, което ни информира дали файлът съществува или не.
Използване на командата Dir за проверка дали папка съществува
Подобно на проверката дали файл съществува, можете да проверите дали съществува папка. Трябва само да добавите един аргумент към Реж команда. Нека разгледаме кода:
123456789101112131415 | Sub CheckFolderExists ()Dim strFolderName As StringDim strFolderExists As StringstrFolderName = "C: \ Потребители \ Nikola \ Desktop \ VBA статии \ Тестова папка \"strFolderExists = Dir (strFolderName, vbDirectory)Ако strFolderExists = "" ТогаваMsgBox "Избраната папка не съществува"ИначеMsgBox "Избраната папка съществува"Край АкоEnd Sub |
Първо зададохме пътя на папката към променливата strFolderName. След това използваме Реж функция за получаване на името на файла в променливата strFileExists. За да проверим папка, трябва да добавим втория аргумент към функцията - vbDirecotry. Ако папката съществува в директорията, нейното име ще бъде присвоено на променливата strFolderExists. Ако не strFolderExists ще остане празно.