В Visual Basic для приложений (VBA) извлечение имени папки по заданному пути может быть обычным требованием при работе с задачами манипулирования файлами. В этой статье мы рассмотрим различные методы выполнения этой задачи на примерах кода VBA. К концу этой статьи вы получите полное представление о том, как извлечь имя папки из пути в VBA.
Методы:
- Использование FileSystemObject:
FileSystemObject — это мощный инструмент VBA для управления операциями файловой системы. Вот пример того, как использовать его для извлечения имени папки:
Sub ExtractFolderNameUsingFileSystemObject()
Dim fso As Object
Dim folderPath As String
Dim folderName As String
Set fso = CreateObject("Scripting.FileSystemObject")
folderPath = "C:\Path\To\Folder\"
folderName = fso.GetFolder(folderPath).Name
MsgBox folderName
End Sub
- Использование функции разделения:
Функция разделения может использоваться для разделения строки на массив подстрок на основе разделителя. Вот пример того, как использовать его для извлечения имени папки:
Sub ExtractFolderNameUsingSplitFunction()
Dim folderPath As String
Dim folderName As String
folderPath = "C:\Path\To\Folder\"
folderName = Split(folderPath, "\")(UBound(Split(folderPath, "\")))
MsgBox folderName
End Sub
- Использование функций InStrRev и Mid:
Функция InStrRev возвращает позицию последнего вхождения подстроки в строке. Функция Mid извлекает подстроку из строки. Вот пример использования этих функций для извлечения имени папки:
Sub ExtractFolderNameUsingInStrRevAndMidFunctions()
Dim folderPath As String
Dim folderName As String
Dim lastBackslashPos As Integer
folderPath = "C:\Path\To\Folder\"
lastBackslashPos = InStrRev(folderPath, "\")
folderName = Mid(folderPath, lastBackslashPos + 1)
MsgBox folderName
End Sub
- Использование библиотеки времени выполнения сценариев Microsoft:
Библиотека времени выполнения сценариев Microsoft предоставляет объект FileSystemObject, который можно использовать для извлечения имени папки. Чтобы использовать эту библиотеку, вам необходимо добавить ссылку на «Microsoft Scripting Runtime» в свой проект VBA. Вот пример:
Sub ExtractFolderNameUsingScriptingRuntimeLibrary()
Dim fso As FileSystemObject
Dim folderPath As String
Dim folderName As String
Set fso = New FileSystemObject
folderPath = "C:\Path\To\Folder\"
folderName = fso.GetFolder(folderPath).Name
MsgBox folderName
End Sub
- Использование функции Dir:
Функция Dir обычно используется для получения имен файлов и папок в VBA. Передав путь с подстановочным знаком, вы можете получить имя папки. Вот пример:
Sub ExtractFolderNameUsingDirFunction()
Dim folderPath As String
Dim folderName As String
folderPath = "C:\Path\To\Folder\"
folderName = Dir(folderPath & "*", vbDirectory)
MsgBox folderName
End Sub