因为工作原因,电脑里装了17版与20版sw;最近研究通过Excel vba对sw进行批量属性更改,一直用Set swApp = CreateObject("SldWorks.Application")打开20版sw,进行代码编写,运行正常。今天想着连接一下17版sw,对17版sw零部件进行批量属性更改,不知怎么一直连接到20版,查资料一上午没搞定。下午突然看到这篇文章<Solidworks二次开发-连接solidworks>,才恍然大悟。分享给大家,希望大家少走点弯路。
1、以17版为例:
Sub 连接sw()Dim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2Set swApp = CreateObject("SldWorks.Application.25") '启动SW17swApp.Visible = TrueSet swModel = swApp.ActiveDocEnd Sub
2、其他版本对应值
(1)"sw15" 对应 "SldWorks.Application.23"
(2)"sw16" 对应 "SldWorks.Application.24"
(3)"sw17" 对应 "SldWorks.Application.25"
(4) "sw18" 对应 "SldWorks.Application.26"
(5)"sw19"对应 "SldWorks.Application.27"
(6)"sw20" 对应 "SldWorks.Application.28"
(7)"sw21" 对应 "SldWorks.Application.29"
3、关于Excel vba 引用,可以参照 sw vba的引用
(1)sw-vba工具-引用
(2)Excel vba 工具-引用
本文参考:Solidworks二次开发-连接solidworks_solidworks interop_Uncle_Liao的博客-CSDN博客