|
发表于 2016-4-29 16:39:54
|
显示全部楼层
k' z. E1 i7 P- d6 j要達到批量新增的話,如下代碼:
( Q1 l+ O O1 |; q* p2 u$ `1 J5 A: R. w! d# @+ G- K: p9 k
- Dim swApp As SldWorks.SldWorks7 I, z6 I( W& Y! D
- Dim swModel As SldWorks.ModelDoc
$ f& Y* S; a3 v1 f) F5 r - Dim sFileName As String3 j; `8 S; F+ q$ M) w% V9 h
- Dim path As String. K' Z* N$ r9 W m
- Dim nErrors As Long- r8 {: L; L5 o2 T" `
- Dim nWarnings As Long
% z/ w; Y7 j9 I' T! M/ n - Sub main()
: L3 V9 W; F( l6 I9 k( C3 |/ ^ - Set swApp = Application.SldWorks+ A1 O: ~ W" p e
- path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑 O) C, h6 A3 f/ b2 b" X. G
- If Right(path, 1) <> "" Then path = path & "", x, S/ x0 i) B3 t+ P3 |% h
- sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw0 t: q8 }5 q% g) q2 Y1 ^ B( j
- Do Until sFileName = ""
: R! h- x# @% N! v' ~ -
4 u" D" @! r' z0 {' P - Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
6 e$ N: r' e' H) W% D - Set swModel = swApp.ActiveDoc' i$ m8 a; a {2 v: `8 v) C
- ) c7 a% r- c9 ~4 T
- retva6 = swModel.DeleteCustomInfo("Number")
1 z! L/ X8 p* I' P5 V, X - retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))* E" }$ n: o# N. F
- retva6 = swModel.DeleteCustomInfo("Name")* W2 u* M9 s- I
- retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))6 c2 a# B4 |. K& @8 N: `. i
-
- j7 t5 l& t( E7 B* X# H - swModel.Save9 \( m2 l( }& g7 m# P( k
- swApp.CloseDoc (sFileName)
9 L a1 k4 c$ i3 Y' V. x - sFileName = Dir
+ n! Q H" q6 h - Loop
7 t. U6 q) c& J; P" E* D/ X* | - MsgBox "DONE!"
4 p& O$ H8 V! O. I5 ~ x3 N- B# Q - End Sub7 b: P6 f/ R/ V8 H( |2 e6 D' X# v/ j
复制代码
' D0 H K' L$ ~% ?9 p( d6 g/ J
" N4 [- R2 [/ t+ k* s# e
# R: T u. o+ H& B1 t |
|