Съдържание
Едно от най-изгодните приложения на 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 "The file doesn't exist." Else MsgBox "The file exists." End If End Sub
Изтегляне на работна тетрадка за практика
Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.
Проверка на VBA дали съществува файл.xlsmПреглед на кода на VBA за проверка дали даден файл съществува или не (анализ стъпка по стъпка)
И така, без да се бавим повече, нека преминем към основната ни дискусия днес. VBA код стъпка по стъпка, за да научим как да проверим дали даден файл съществува или не на нашите компютри.
⧪ Стъпка 1: Вмъкване на необходимите входни данни
В самото начало на кода трябва да въведем необходимите входни данни в него. В този код се изисква само един вход и това е името на файла, който търсим. Въведете пълното име на файла (заедно със свързаната директория).
File_Name = "C:\ExcelWIKI\Book1.xlsm"
⧪ Стъпка 2: Извличане на името на файла с функцията VBA Dir
След това ще използваме един малък трик. Ще използваме VBA Функция Dir за извличане на името на файла. Ако такъв файл не съществува, Функция Dir ще върне нулев низ.
File_Name = Dir(File_Name)
⧪ Стъпка 3: Проверка дали файлът съществува с помощта на If-блок
Това е най-важната стъпка. По-рано казахме, че ако не съществува файл с дадено име, функцията Dir връща нулев низ. Ще използваме това свойство в рамките на If-блок за да проверите дали файлът съществува или не.
If File_Name = "" Then MsgBox "The file doesn't exist." Else MsgBox "The file exists." 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 "The file doesn't exist." Else MsgBox "The file exists." 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: Изпълнение на кода
Кликнете върху Изпълнение на Sub / UserForm от горната лента с инструменти.
Кодът ще се изпълни. И ще получите "Съществува" за съществуващите файлове и "Не съществува" за несъществуващите файлове.
Прочетете още: Как да проверите дали съществува стойност в диапазона в Excel (8 начина)
Заключение
Следователно това е процесът на разработване на Macro за да изпратите имейл от Excel с прикачен файл. Имате ли въпроси? Не се колебайте да ни попитате. И не забравяйте да посетите нашия сайт ExcelWIKI за повече публикации и актуализации.