solidworks 批量执行宏
各位大大好,在网上找到一个可以批量打开SW零件的宏,代码如下:Sub Test()
Set swApp = Application.SldWorks
PartPath = "D:\Project\" '设定目录
PartFileName = Dir(PartPath & "*.sldprt") '搜寻首个零件档案名称
Do Until PartFileName = "" '直至搜寻到空值
Set Part = swApp.OpenDoc(PartPath & PartFileName, 1) '开启零件
'加入所需语句
'.
'.
'.
'.
Part.Save '保存
swApp.CloseDoc (PartFileName) '关闭零件
PartFileName = Dir '搜寻下一个零件档案名称
Loop '循环搜寻
End Sub
可是却只能打开零件,装配体和工程图就不能打开了,哪位大大可以帮忙改一下,使其可以打开文件夹中的SW所有的三种文件,在此拜谢!!!
劝你到三维网和开思找,那里有几位研究宏的大神。
还有为什么要批量打开零件文件,屏幕能装的下吗 从第三行开始,每行的part楼主没看到么?替换成工程图和装配体就好。不知道怎么敲代码就自己录制宏,看一下就明白了,VBA很简单的 本帖最后由 未来第一站 于 2017-3-1 09:47 编辑
必威APP精装版下载solidworks专家级两位楼上大侠到齐了:lol 这个难道不是图中圈住的改为"slddrw"和"sldsam"吗?
工人师_OgIOQ 发表于 2017-3-1 09:10
劝你到三维网和开思找,那里有几位研究宏的大神。
还有为什么要批量打开零件文件,屏幕能装的下吗
谢谢你
批量打开的用处是加入其他录制的宏,可以执行批量操作,提高工作效率
魍者归来 发表于 2017-3-1 09:37
从第三行开始,每行的part楼主没看到么?替换成工程图和装配体就好。不知道怎么敲代码就自己录制宏,看一下 ...
那如何才能将打开三种文件的代码整合到一个宏里面?望大侠指教 footleft 发表于 2017-3-1 09:50
这个难道不是图中圈住的改为"slddrw"和"sldsam"吗?
只是更改这个还不行的,要配合着更改下面的那 1 分别对应123
但是我想能不能将打开三种文件的代码整合到同一个宏中
本帖最后由 ryouss 于 2017-3-4 14:42 编辑
用 Select Case 做篩選循環,
不過如下宏只是做零件,裝配件及工程圖的叫出再關閉,沒實質意義.
'
' 在某文件路徑下批量開零件,裝配件及工程圖
' sc liang 2017/3/4
' 測試版 2012 sp4
'
Dim nErrors As Long
Dim nWarnings As Long
Sub Test()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
path = "D:\Project\" '存檔路徑
sFileName = Dir(path & "*.sld*") '取出SW文件
'循環開檔
Do Until sFileName = ""
Type_ = Right(sFileName, 3) '取得SW文件擴展名後三位
Select Case Type_ '判定SW文件型式
'開零件檔並存檔
Case "PRT"
Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings)
Set Part = swApp.ActiveDoc
Part.Save
'開組件檔
Case "ASM"
Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings)
'開工程圖
Case "DRW"
Set swModel = swApp.OpenDoc6(path + sFileName, swDocDRAWING, swOpenDocOptions_Silent, "", nErrors, nWarnings)
End Select
Set swModel = Nothing
swApp.CloseDoc (sFileName)
sFileName = Dir '同路徑取出下個SW文件檔名
Loop
End Sub 杨猛0230 发表于 2017-3-3 10:45
那如何才能将打开三种文件的代码整合到一个宏里面?望大侠指教
方案1:If…Then…Else 语句
方案2:Select…Case 语句
方案3:Do…Loop 语句
方案4:For…Next 语句
方案5:While…Wend 语句
方案6:……
……