Option Explicit% h: u- G* q" h/ N, ?( o
Dim swApp As SldWorks.SldWorks
+ \( P% @% N: Y* [Dim swModel As ModelDoc2
; I; m4 @( u3 I5 E4 A# dDim cpm As CustomPropertyManager
6 U0 _$ s1 F( Y6 v+ q kSub main()
' n6 Q1 F' x% t9 L4 FSet swApp = Application.SldWorks; c- l9 C( J" R) X& y2 }
Set swModel = swApp.ActiveDoc/ Q4 v) o- N& B: c
Set cpm = swModel.Extension.CustomPropertyManager(""). R/ _& O& d4 {2 U4 e; z$ y, D
Dim path As String, filename As String, partno As String, partname As String, beizhu As String2 \. k1 K# A; c9 s3 R1 u- i+ g
path = swModel.GetPathName '獲得文件路徑和文件名稱 o. y h: T" |/ C
filename = Mid$(path, InStrRev(path, "\") + 1) ' 獲得文件名稱及擴展名8 t* |5 x) E5 t/ p5 }5 [& w
filename = Left$(filename, InStrRev(filename, ".") - 1) '移除擴展名0 p8 u. d$ ~2 _
partno = Left(filename, 10) ' 定義partno等于文件名的前9位
* n; }! G @5 ]6 W. w8 Z+ L- u. k/ tpartname = Right(filename, Len(filename) - 10) ' 定義partname等于文件名剩下若干位
. r8 o, ~% b8 c" A$ x& i9 ], H+ Ocpm.Delete "編碼" ' 刪除自定義屬性“編碼”
4 g B8 F; a4 w" V8 N( Xcpm.Delete "名稱" ' 刪除自定義屬性“名稱”) ]9 i1 N' D( z y7 K% J
cpm.Delete "路徑" ' 刪除自定義屬性“路徑”
9 M$ K8 Q5 M6 Scpm.Add2 "編碼", swCustomInfoText, partno ' 增加自定義屬性“編碼”
; a/ O [5 \" L2 A: hcpm.Add2 "名稱", swCustomInfoText, partname ' 增加自定義屬性“名稱”$ U. E/ z3 Y/ }& w0 `. e; Y2 {8 s% f5 [
'cpm.Add2 "路徑", swCustomInfoText, path '增加自定義屬性“路徑”2 v5 B" Y% [' E: O) ?2 {( g: x6 |
swModel.Save ' 保存文件
6 D: d) H$ }/ x2 l1 ~* }'swApp.CloseDoc (filename) ' 關閉當前激活文件
1 Q# c2 r$ A2 H, V4 x3 l2 Q: rEnd Sub+ m1 R: d( E0 ^2 S9 g$ V7 \! ^$ a
以上 是一種宏的利用 你看看吧 |