Изучение макросов SolidWorks: как получить путь без имени файла

Макросы SolidWorks — это мощный инструмент, который автоматизирует повторяющиеся задачи и повышает производительность при 3D-моделировании и проектировании. В этой статье блога мы углубимся в различные методы извлечения пути без имени файла из макроса SolidWorks. Мы предоставим примеры кода для каждого метода, чтобы помочь вам реализовать их в ваших собственных проектах.

Метод 1: использование FileSystemObject
FileSystemObject — это компонент узла сценариев Windows, который обеспечивает доступ к файловой системе. Вот пример того, как вы можете использовать его в макросе SolidWorks для получения пути без имени файла:

Option Explicit
Sub GetPathnameWithoutFilename()
    Dim fso As Object
    Dim filePath As String
    Dim folderPath As String

    Set fso = CreateObject("Scripting.FileSystemObject")
    filePath = ThisDocument.GetPathName
    folderPath = fso.GetParentFolderName(filePath)

    Debug.Print folderPath
End Sub

Метод 2: использование функций VBA
VBA предоставляет несколько встроенных функций, которые можно использовать для извлечения пути без имени файла. Следующий код демонстрирует реализацию:

Option Explicit
Sub GetPathnameWithoutFilename()
    Dim filePath As String
    Dim folderPath As String

    filePath = ThisDocument.GetPathName
    folderPath = Left(filePath, InStrRev(filePath, "\") - 1)

    Debug.Print folderPath
End Sub

Метод 3: использование функции разделения
Функция разделения в VBA может использоваться для разделения строки на основе разделителя и получения нужной части. Вот пример того, как вы можете использовать его для извлечения пути без имени файла:

Option Explicit
Sub GetPathnameWithoutFilename()
    Dim filePath As String
    Dim folderPath As String

    filePath = ThisDocument.GetPathName
    folderPath = Split(filePath, "\")(UBound(Split(filePath, "\")) - 1)

    Debug.Print folderPath
End Sub

В этой статье мы рассмотрели три различных метода извлечения пути без имени файла из макроса SolidWorks. FileSystemObject, функции VBA и функция Split предоставляют эффективные способы решения этой задачи. Реализуя эти методы, вы можете улучшить функциональность макросов SolidWorks и оптимизировать процессы проектирования.