5 методов извлечения имени папки из пути в VBA

В Visual Basic для приложений (VBA) извлечение имени папки по заданному пути может быть обычным требованием при работе с задачами манипулирования файлами. В этой статье мы рассмотрим различные методы выполнения этой задачи на примерах кода VBA. К концу этой статьи вы получите полное представление о том, как извлечь имя папки из пути в VBA.

Методы:

  1. Использование 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
  1. Использование функции разделения:
    Функция разделения может использоваться для разделения строки на массив подстрок на основе разделителя. Вот пример того, как использовать его для извлечения имени папки:
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
  1. Использование функций 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
  1. Использование библиотеки времени выполнения сценариев 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
  1. Использование функции 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