You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA如何通过代码启用工具/引用中的指定SOLIDWORKS类型库

动态加载SOLIDWORKS类型库的VBA实现方案

操作前置要求:需先进入Excel「文件-选项-信任中心-信任中心设置-宏设置」,勾选「信任对VBA工程对象模型的访问」,否则引用操作无权限执行。

以下是完整实现代码,可直接在Excel VBA模块中使用:

' 定义两个类型库的GUID,兼容路径查找失败场景
Const SW_TYPELIB_GUID As String = "{83A33D31-27C5-11CE-BFD4-444553540000}"
Const SW_CONST_TYPELIB_GUID As String = "{4687F359-5509-43D1-A9EB-04046BC6FF67}"
Const SW_TARGET_VERSION As String = "2016"

' 调用SOLIDWORKS功能前先运行此过程添加引用
Sub AddSWTypeLibReferences()
    Dim ref As Reference
    Dim swInstallDir As String
    Dim sldworksTlbPath As String, swConstTlbPath As String
    
    ' 检测是否已添加目标引用,避免重复添加报错
    For Each ref In ThisWorkbook.VBProject.References
        If ref.GUID = SW_TYPELIB_GUID Or ref.GUID = SW_CONST_TYPELIB_GUID Then
            Exit Sub
        End If
    Next
    
    On Error GoTo NoSWInstalled
    ' 从系统注册表读取对应版本SOLIDWORKS的安装路径
    swInstallDir = CreateObject("WScript.Shell").RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\SOLIDWORKS " & SW_TARGET_VERSION & "\InstallDir")
    sldworksTlbPath = swInstallDir & "sldworks.tlb"
    swConstTlbPath = swInstallDir & "swconst.tlb"
    
    ' 按需添加两个目标类型库
    ThisWorkbook.VBProject.References.AddFromFile sldworksTlbPath
    ThisWorkbook.VBProject.References.AddFromFile swConstTlbPath
    
    Exit Sub
NoSWInstalled:
    MsgBox "未检测到SOLIDWORKS " & SW_TARGET_VERSION & " 安装环境,无法运行对应功能", vbInformation
End Sub

' 程序运行结束后可调用此过程清理引用,避免残留
Sub RemoveSWTypeLibReferences()
    Dim ref As Reference
    For Each ref In ThisWorkbook.VBProject.References
        If ref.GUID = SW_TYPELIB_GUID Or ref.GUID = SW_CONST_TYPELIB_GUID Then
            ThisWorkbook.VBProject.References.Remove ref
        End If
    Next
End Sub

注意事项

  • 代码默认适配SOLIDWORKS 2016版本,如需适配其他版本,只需修改SW_TARGET_VERSION常量的值即可
  • 如果需要程序退出时自动清理引用,可在工作簿的Workbook_BeforeClose事件中调用RemoveSWTypeLibReferences过程
  • 内置错误捕获逻辑,未安装SOLIDWORKS的用户运行时仅会收到友好提示,不会导致整个Excel程序崩溃无法使用

内容的提问来源于stack exchange,提问作者Eduards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 11:42:03