|
发表于 2016-4-29 16:39:54
|
显示全部楼层
5 K$ B' O8 U1 I0 Z* c要達到批量新增的話,如下代碼:% s' ^9 {/ _( n2 Q# i
9 ?1 _, ^9 H. Q z. A
- Dim swApp As SldWorks.SldWorks/ Y) f) m6 y8 \& ?9 q( O# D7 K
- Dim swModel As SldWorks.ModelDoc, o J" D" B( R% ^$ O% a
- Dim sFileName As String
) F2 v7 W9 I$ w: _9 W - Dim path As String
" G' z# h+ u! ~+ X3 ~7 n7 t6 H - Dim nErrors As Long
; l0 [ Z) x6 l. e- c4 i - Dim nWarnings As Long
4 T) b" X6 |6 i/ D: _ - Sub main()
2 x% T: Q8 g6 u1 ~4 J$ f - Set swApp = Application.SldWorks
0 ~7 L; _# k% Q! p/ f6 a9 t! K6 X. w - path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
I& Y! b3 ?$ Y0 V" b$ g - If Right(path, 1) <> "" Then path = path & ""
u# G( q( g. }8 Y, x8 ` - sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
7 h- l1 v) k& j+ ^( b5 r4 o# O - Do Until sFileName = ""
: l9 I/ l% V- q - 2 \4 ], I! d! Y6 T6 B
- Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
, M7 y0 `" {8 E: p; f! e$ P - Set swModel = swApp.ActiveDoc
! q$ w+ w( {. Q% y -
; {: h; z1 H! J& {$ I4 [ - retva6 = swModel.DeleteCustomInfo("Number")
1 \, R' a' h* s }( K3 k# ?* O - retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))7 A$ l8 G( N, Y4 G; K! L
- retva6 = swModel.DeleteCustomInfo("Name")
j* G4 o$ c, D3 |3 y3 i1 D - retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10)) Y% y/ N8 m. s* P, {9 y
- 3 F# D2 Z/ D+ _. c& q' X4 a
- swModel.Save( E+ N; Q' @# z) G8 t# {% X
- swApp.CloseDoc (sFileName)
$ t9 K7 b* F! T; f# ^4 r - sFileName = Dir8 e/ Z5 g) ?. k0 y; K+ I% s: X
- Loop7 u# U; J: l, R# F a0 ^
- MsgBox "DONE!"
5 Q) p: U/ c/ B$ R' b/ j - End Sub
; c/ S, v, G3 v, c* O/ A
复制代码
0 O; f, c1 a# ]! F; x$ ?1 S" e1 [2 R( }- i3 a4 w9 k4 y$ T M
# @: z. ]( F" h- J! S9 [ |
|