Този макрос на Excel ви позволява да подадете път към файла, за да прецените дали файлът е там. Например, може да имате процес, който манипулира файл някъде на вашия компютър. Например, може да се наложи да отворите съществуваща работна книга, за да добавяте данни към нея ежедневно. В този случай може да се наложи да тествате, за да видите дали файлът, който трябва да манипулирате, съществува.
Как работи макросът
Първото нещо, което трябва да забележите за този макрос, е, че той е функция, а не подпроцедура. Превръщането на този макрос във функция ви позволява да предадете всеки път към него.
В този макрос използвате функцията Dir, която връща низ, който представлява името на файла, което съответства на това, което предавате към него. Тази функция може да се използва по много начини, но тук я използвате, за да проверите дали пътят на файла, който предавате към нея, съществува:
Функция FileExists(FPath като низ) като булева
„Стъпка 1: Декларирайте вашите променливи
Dim FName като низ
„Стъпка 2: Използвайте функцията Dir, за да получите името на файла
FName = Dir(FPath)
„Стъпка 3: Ако файлът съществува, върнете True; иначе невярно
Ако FName <> " Тогава FileExists = True _
Друго: FileExists = False
Крайна функция
Стъпка 1 декларира String променлива, която съдържа името на файла, което се връща от функцията Dir. FName е името на променливата String.
В стъпка 2 се опитвате да зададете променливата FName. Правите това, като предавате променливата FPath на функцията Dir. Тази променлива FPath се предава чрез декларациите на функциите (вижте първия ред на кода). Тази структура ви предпазва от необходимост да кодирате твърдо пътека към файла, като вместо това го предавате като променлива.
Ако променливата FName не може да бъде зададена, пътят, който сте предали, не съществува. По този начин променливата FName е празна. Стъпка 3 просто превежда този резултат в израз True или False.
Отново тази функция може да се използва за оценка на всеки път към файла, който предавате към него. Това е красотата на записването на макроса като функция.
Следният макрос показва как да използвате тази функция:
Подмакрос1()
Ако FileExists("C:TempMyNewBook.xlsx") = Вярно Тогава
MsgBox "Файлът съществува."
иначе
MsgBox "Файлът не съществува."
Край, ако
Край под
Как да използвате макроса
За да приложите този макрос, можете да копирате и поставите и двете части от кода в стандартен модул:
Активирайте редактора на Visual Basic, като натиснете Alt+F11.
Щракнете с десния бутон върху името на проекта/работната книга в прозореца на проекта.
Изберете Вмъкване→Модул.
Въведете или поставете кода в новосъздадения модул.