Option Explicit
; V4 F& f3 y* B: r3 b6 z+ JDim swApp As SldWorks.SldWorks
( O! E: |8 n$ S- E+ d3 |Dim swModel As ModelDoc2( E0 y- t. H6 i5 j8 U
Dim cpm As CustomPropertyManager
/ Z2 o! k: X% B5 xSub main()0 s' x7 @* v$ U$ _9 f/ Q/ e
Set swApp = Application.SldWorks
; U1 R. p8 Z/ m9 y! t7 v" e( ZSet swModel = swApp.ActiveDoc
$ _+ l4 E5 d5 U# |Set cpm = swModel.Extension.CustomPropertyManager("")
( E# m9 I1 U* F& g. @3 JDim path As String, filename As String, partno As String, partname As String, beizhu As String' f4 X! }& q; r8 ~, F
path = swModel.GetPathName '獲得文件路徑和文件名稱
3 e" S1 l1 {$ ^7 C# h) Nfilename = Mid$(path, InStrRev(path, "\") + 1) ' 獲得文件名稱及擴展名
, [) f; O9 M( c, A4 }: q/ X4 Pfilename = Left$(filename, InStrRev(filename, ".") - 1) '移除擴展名
8 r1 q$ P5 a) K, q8 r n. \( R7 Kpartno = Left(filename, 10) ' 定義partno等于文件名的前9位
' E6 s9 q+ m ]" h' F$ }partname = Right(filename, Len(filename) - 10) ' 定義partname等于文件名剩下若干位
3 B+ e, s' Q' n1 q7 M6 b/ u! Ocpm.Delete "編碼" ' 刪除自定義屬性“編碼”7 P, r) w3 _8 R
cpm.Delete "名稱" ' 刪除自定義屬性“名稱”
9 X8 @3 L S* m8 t% k% n {" W2 Fcpm.Delete "路徑" ' 刪除自定義屬性“路徑”
, k. @5 w! H m8 x) dcpm.Add2 "編碼", swCustomInfoText, partno ' 增加自定義屬性“編碼”
9 t' I) j8 O, w3 [+ s2 y- bcpm.Add2 "名稱", swCustomInfoText, partname ' 增加自定義屬性“名稱”
7 X9 |0 p$ Y% M) ^8 q+ i'cpm.Add2 "路徑", swCustomInfoText, path '增加自定義屬性“路徑”
% |6 I5 s1 U3 L, q* n" N1 O9 JswModel.Save ' 保存文件
+ t B& J( x B1 S'swApp.CloseDoc (filename) ' 關閉當前激活文件" Z/ h6 b) y, w
End Sub
% }' O* w0 ^" b$ {( X以上 是一種宏的利用 你看看吧 |