В тази статия споделихме VBA код за писане на персонализирана функция за извличане на името на файла и името на папката от пътя на файла.
Суровите данни за този пример указват пълния път на определени файлове.
Логично обяснение
В този пример създадохме персонализирана функция VBA „FileOrFolderName“, която връща името на файла или папката като изход.
Функцията „FileOrFolderName“ приема два параметъра като вход. Първият параметър приема пътя на файла като вход. Вторият параметър приема булева стойност като вход, ако искаме името на файла като изход, тогава ще присвоим True стойност на този параметър и ако искаме името на папката като изход, тогава ще присвоим False стойност на този параметър.
За разделяне на името на файла и името на папката от пътя на файла, първо, ние намираме местоположението на последното срещане на разделител на пътя в рамките на пътя на файла. След последното появяване на разделител на пътеки, можем лесно да отделим името на файла и името на папката като текст. От дясната страна на разделителя на пътя е името на файла, а текстът от лявата страна на разделителя на пътя е името на папката.
Ако в пътеката на файла няма разделител на пътища, пътят на директорията по подразбиране е посочен като име на папката.
Изпълнение на персонализираната функция
За да използвате дефинирана персонализирана функция, отидете в клетка C14 и въведете функцията = FileOrFolderName (B14, FALSE) и в клетка D14, въведете функцията = FileOrFolderName (B14, TRUE), където клетка B14 съдържа пътя на файла.
Клетка C14 ще даде името на папката, а клетка D14 ще даде името на файла.
Моля, следвайте кода по -долу
Функция FileOrFolderName (InputString As String, _ ReturnFileName As Boolean) As String 'Връща името на папката или името на файла въз основа на булева стойност, присвоена Dim i As Integer, FolderName As String, FileName As String i = 0' Код, използван за намиране на позицията на последната появяване на разделител на пътека Докато InStr (i + 1, InputString, Application.PathSeparator)> 0 i = InStr (i + 1, InputString, Application.PathSeparator) Wend „Извличане на пътя на папката“ Ако не е намерено появяване на разделител на пътя пътят на директорията по подразбиране Ако i = 0 Тогава FolderName = CurDir Иначе FolderName = Left (InputString, i - 1) End If 'Извличане на името на файла FileName = Right (InputString, Len (InputString) - i)' Връща името на папката или файла от функция въз основа на параметъра ReturnFileName Ако ReturnFileName Тогава FileOrFolderName = Име на файла Друг FileOrFolderName = Име на папка Край, ако функцията за край
Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта