📜  Solidworks 宏获取没有文件名的路径名 (1)

📅  最后修改于: 2023-12-03 14:47:31.060000             🧑  作者: Mango

Solidworks 宏获取没有文件名的路径名

在 Solidworks 中,可以使用宏来自动化一些重复性的任务。在某些情况下,可能需要获取当前活动文档的路径,但是不包括文件名。下面是一个演示如何实现该功能的 Solidworks 宏。

Option Explicit

Sub GetPathWithoutFilename()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim filePath As String
    
    ' 获取 Solidworks 应用程序对象
    Set swApp = Application.SldWorks
    
    ' 获取当前活动文档对象
    Set swModel = swApp.ActiveDoc
    
    ' 确保当前活动文档不为空
    If Not swModel Is Nothing Then
        ' 获取完整路径(包括文件名)
        filePath = swModel.GetPathName
        
        ' 提取路径部分并移除文件名
        filePath = Left(filePath, Len(filePath) - Len(swModel.GetTitle))
        
        ' 在消息框中显示路径
        MsgBox filePath
    Else
        ' 如果没有打开的文档,显示错误消息
        MsgBox "No active document."
    End If
    
    ' 释放对象引用
    Set swModel = Nothing
    Set swApp = Nothing
End Sub

以上宏的主要流程如下:

  1. 导入 Solidworks 应用程序库(SldWorks)。
  2. 声明变量 swAppswModel,分别用于引用 Solidworks 应用程序和当前活动文档。
  3. 获取 Solidworks 应用程序对象。
  4. 获取当前活动文档对象。
  5. 检查当前活动文档是否为空。
  6. 如果文档不为空,获取完整路径(包括文件名)。
  7. 使用 Left 函数提取路径部分,并通过减去文件名长度,将其移除。
  8. 在消息框中显示路径。
  9. 如果没有打开的文档,显示错误消息。
  10. 释放对象引用。

运行该宏后,将以消息框的形式显示当前活动文档的路径(不包括文件名)。

请注意,在注册表中启用 Solidworks 的 VBA 支持,并在 Solidworks 中启用宏开发和运行设置。

希望以上内容对您有帮助。