|
|
发表于 2016-4-29 16:39:54
|
显示全部楼层
来自: 中国台湾
" `: m9 E! _# R% d/ E
要達到批量新增的話,如下代碼:6 K/ Q$ N2 D0 g0 q
( q: P& A, X. v4 L
- Dim swApp As SldWorks.SldWorks
7 o% J7 a+ V) Y) z3 O - Dim swModel As SldWorks.ModelDoc
! t" v$ i$ |+ p9 [ - Dim sFileName As String _5 A* g* W* U7 ?
- Dim path As String0 m; y/ ]) i$ `8 t
- Dim nErrors As Long
5 ^ D0 t& P; d4 Q7 s4 e2 @6 Z - Dim nWarnings As Long
) I/ J9 b! o! o6 z - Sub main()" H4 y3 ~2 P' U& K* a
- Set swApp = Application.SldWorks
& {2 J3 y5 z1 E/ ^$ w) T - path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
1 [3 {- q: T) u - If Right(path, 1) <> "" Then path = path & "" S, ~# _; W6 `9 B' I
- sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
$ w) M6 R& L4 o2 I% Z7 _% v; i - Do Until sFileName = ""
3 [+ H$ B5 n# I1 ?% J- F5 P -
9 @9 F7 s! g& X& f0 A - Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
+ n& A1 ]% D2 B! k3 T( {9 i - Set swModel = swApp.ActiveDoc
) a% G# G& T3 p -
* f( _9 K ?4 K4 O& t, u: i - retva6 = swModel.DeleteCustomInfo("Number")
0 ]3 C8 w4 ~8 S7 f - retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))* C: d! P5 O1 n) V
- retva6 = swModel.DeleteCustomInfo("Name")
: v% c$ u w, l$ g4 L - retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))
j' K! Q) W8 M C5 F; M& [5 ~+ b - , W7 ^5 }7 E1 R
- swModel.Save
. }# T. _$ c- D6 N0 ~. L% S - swApp.CloseDoc (sFileName)- _# S N, r1 s
- sFileName = Dir- V: O8 n9 t8 u6 w1 Y; W" b
- Loop
& X; o: x; N! X$ p5 m1 |; o) i - MsgBox "DONE!"
9 |8 K% R" C* D9 \+ F1 ]7 D - End Sub
0 b- u4 l Z$ ~% A% l& Q1 G' }9 D
复制代码
# S' N4 V, ^5 I( V! F% |4 X' }1 u' g. T
M C+ G) _9 L# I& V9 O: c: N+ A |
|