|
发表于 2016-4-29 16:39:54
|
显示全部楼层
- O! K. W& K- L4 u2 \ N要達到批量新增的話,如下代碼:
7 @2 O2 J( ~$ Z
4 T j3 O* A6 t& L7 v* E6 F; d7 m- Dim swApp As SldWorks.SldWorks/ j% R+ g( K" T$ e
- Dim swModel As SldWorks.ModelDoc
7 V2 Y5 w7 L- o* ]6 x - Dim sFileName As String( B; |, D% m; v; {6 \/ w; Y
- Dim path As String9 K% G: N- y5 q! ]6 i7 p* p- u
- Dim nErrors As Long2 p) \( l) f1 J5 e9 T
- Dim nWarnings As Long+ p; m/ N; _: L% a; {1 A
- Sub main()3 G" Z p; R- S6 U# g; K$ H
- Set swApp = Application.SldWorks
0 H# i; ~5 f3 J* T" {" V; e7 b5 T - path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑* M0 o/ h! H' q/ ` J
- If Right(path, 1) <> "" Then path = path & ""
+ m7 Q% ~& E: w/ t- y$ T( B - sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw) {, T6 a8 D/ o7 i
- Do Until sFileName = ""
$ ], t# q/ M2 Z -
9 p/ K. x0 `0 I - Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
: G: \: }2 Y0 w) B w a - Set swModel = swApp.ActiveDoc
1 {) w# v& }- w! Q" O - 3 S: A4 N: r( M
- retva6 = swModel.DeleteCustomInfo("Number")* |2 A, u' g" D/ y. _6 f3 q, Z
- retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))+ C( K0 f$ } j
- retva6 = swModel.DeleteCustomInfo("Name"): ~3 g5 {3 c: x* ^/ U
- retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))1 C9 a1 U% T2 f- z( X% N
-
9 U8 e/ O: y, x) q - swModel.Save, \/ I" Z$ E; [+ E( Q, L& E
- swApp.CloseDoc (sFileName)
0 [- R- h5 r0 d7 d9 o5 `! m - sFileName = Dir
, M9 e. w; @: X+ i | C8 d - Loop9 X4 o3 b9 n# B \& g1 X5 N: W
- MsgBox "DONE!"
# g& j6 B$ W% E4 R# C5 s: \3 P - End Sub6 ]2 e; d+ ~2 m
复制代码 $ a0 g" \. Q, h# z$ F7 a q
. o9 C0 g: U% z, i- b% ]: m. O; {
3 T7 I+ o' c' O% { |
|