第一步:將后綴為“.slddrt”的圖紙格式文件放入此文件夾內,此圖紙格式文件是自己需要的新圖框。: V$ l/ J9 r0 P: s" O' a
第二步:將要替換模板的文件放入一個文件夾,將文件夾地址粘貼到相應的地方(程序中有備注)
) y4 }, z' s9 b) d- I! U第三步:用宏命令運行程序:; d% K# N7 f$ ]* \
; `9 ?% Q3 |- v+ x, P第一步的附圖:, ?4 f# |, I8 E1 c- b: z8 N
% T- i3 u. I/ z7 @1 Y v
程序:" q X" s4 T" T
' ****************************************************************************** U S; B& e9 a# g$ S# \0 A
' C:\Users\Administrator\AppData\Local\Temp\swx8592\Macro1.swb - macro recorded on 06/26/19 by Administrator6 r) @- n- T* f
' ******************************************************************************
8 ?3 ?" X* w; w2 H( {Dim swApp As Object% v a; Q6 L0 Y6 }
* ^* Q" @# z- L) v5 Y
Dim Part As Object
: j8 [- g! f: h2 L9 }. m2 nDim boolstatus As Boolean9 [1 h$ v2 C }7 j2 q
) x: h6 A! D9 \8 d5 g5 e
+ S/ i" j y3 T8 w! h+ m
, b) [) p4 H6 r$ H
3 |5 n- N/ I& g' t) P
# Z, F$ Y. I$ P! s6 bDim longstatus As Long, longwarnings As Long, myPath$, myFile$# n, {: ]" F( F2 q8 t, f
Dim i As Integer7 \" L* ?( t+ E7 w& g5 N
5 R0 w% [6 B; k* |Sub Main()8 |4 I* q: n% i9 m8 L$ i
( z& ]+ a" S$ K- |' H
5 L% g1 A: C) ]/ {, z8 H" d% w% K
" t% z5 P' O( [% t4 Y+ p/ O9 O5 ]Set swApp = _
6 G C" e4 r: u, O: N1 `+ [Application.SldWorks* A V, F' F7 h. j) K0 B
myPath = "C:\Users\Administrator\Desktop\新建文件夾 (2)\" '把文件路徑定義給變量,第二步中的路徑填到此處。) Z. ?7 d5 b" x8 J& n4 _6 L a
myFile = Dir(myPath & "*.slddrw") '依次找尋指定路徑中的*.文件
! X+ Q6 J7 I7 g4 C% b! v5 hi = 0
2 A2 C% V$ a6 f$ n jDo While myFile <> ""
+ V* Q% n8 l0 E' vSet Part = swApp.OpenDoc6(myPath & myFile, 3, 0, "", longstatus, longwarnings)6 g1 C" S' f! i! c0 I
" q8 ]/ s+ t4 F' X1 _
Set Drawing = swApp.ActiveDoc
; N3 t- N8 m) N3 Y% u5 a( KIf Drawing.GetType <> 3 Then Exit Sub ?" J3 q! z2 c) @. [/ ]
RetoreSheetName = Drawing.GetCurrentSheet.GetName
+ Q2 Z+ v b' wSheetName = Drawing.GetSheetNames
' j4 A1 Z5 I1 [7 [2 w [$ pSheetCount = Drawing.GetSheetCount; T0 p x8 {" C9 Q; Q; ^
For i = 0 To SheetCount - 1) k4 Y0 }4 }7 M- B1 z: m6 K
Drawing.ActivateSheet SheetName(i)( b9 n0 I5 L% n h
swTemplate = Drawing.GetCurrentSheet.GetTemplateName
2 O+ r9 B: N! m& A! o/ c% P" |1 P swTemplatePath = Split(swTemplate, "")
# m, t+ E1 n6 Z swTemplate = swTemplatePath(UBound(swTemplatePath))5 e0 C) t, J. b2 w; M
vSheetProps = Drawing.GetCurrentSheet.GetProperties()
: Z, _& l/ U1 _! L) D- i. P Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, ""
; A- u1 s: g- k) K* A Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, "") L' c7 t) N8 _* y/ P" ?; S
vSheetProps = Drawing.GetCurrentSheet.GetProperties()
7 |# R9 V: N% s- M3 Z8 ]3 n, INext/ \8 ], Z, i. I6 q$ n. g! z
Drawing.ActivateSheet RetoreSheetName3 t& D9 j* \6 K# \4 ^/ ]
% r ]8 |* A9 N' O
Part.Save
* V7 k/ n+ k/ W5 {2 P( h! GswApp.CloseDoc myPath & myFile5 x+ H+ s K5 j1 ~2 K
: A8 _) m; Z1 s3 Q. X
myFile = Dir '找尋下一個*.文件1 U1 m. n2 j P2 m& e* `
: } q/ D( \1 c3 [, ILoop% i) l% H9 o- Z% ~8 r. ]
`% M: z; w5 w, {% ?* d* |" kEnd Sub |