SOLIDWORKS Task Schedular我試了,根本動不了,自己也倒騰了個宏,功能是工程圖轉換成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代碼復制進去----》存到硬盤某個位置----》,調用的時候是,工具----》宏---》運行,當然也可以自定義到SW的工具欄上,宏文件源代碼如下需要的拿去,:1 {& z' l) g2 V2 ^5 m$ z4 G
Dim swApp As Object
# D/ Z% y+ k) K2 l, [Dim Part As Object; I) q9 u% u) {3 @
Dim boolstatus As Boolean1 d( H p6 h% ^( d4 R' z7 Y/ f. |3 \
Dim longstatus As Long, longwarnings As Long
( h' `' \% ^+ ?; _' LDim PathStr As String9 y; O9 J8 R9 b+ ]
Dim FName(500) As String, FNum As Long* r* g4 B6 I" B, `5 ^" l
2 [* O) ~- h+ O3 L* ~. D; a* p
Sub main()
+ J& J7 |- k; ODim i As Long
( C7 ]$ f) |3 `Dim PathStr0 As String, PathStr1 As String
# M' D: U6 Q5 E0 i) G4 KDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String1 ]5 k5 x5 p% f9 A8 Q
Dim L As Long, L1 As Long
8 x: {, S; C! Y. lPathStr = InputBox("請輸入需要轉的工程圖所在位置") D( s m( A z* ]/ }3 L a5 T9 O1 q/ r
Call Showfilelist(PathStr)0 g- Y& ]0 M- k& s X
Set swApp = Application.SldWorks) H" I1 D0 M* R v' G
% l0 [' h& {7 F3 }) @3 C, T
For i = 0 To FNum - 1
* H' g, t6 B+ X! k1 I/ e PathStr0 = PathStr & "\" & FName(i)
% i( j8 T9 q' X Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings); c8 D; _2 C: C. ?/ V
L = Len(PathStr0)
6 e+ V" g: P% Z9 ~+ U; H; Y PathStr1 = Left(PathStr0, L - 7) & ".DWG"% O; `8 X) O3 R8 L6 J6 n( T" X
PathStr2 = Left(PathStr0, L - 7) & ".PDF"
- W" A! Q/ x* ]. z# n& C6 ? longstatus = Part.SaveAs3(PathStr1, 0, 0)
% {) b1 a; A8 l+ b9 K1 a longstatus = Part.SaveAs3(PathStr2, 0, 0)
) N/ B7 a) M+ @ s/ o
+ V* J6 F$ U2 K: ^ Set Part = Nothing
# \1 A x" Q q2 c, T 8 e2 n, ?& b# r8 P
L1 = Len(FName(i))
, S" d/ z( ]3 t PathStr3 = Left(FName(i), L1 - 7) & " - 圖紙1" ], f2 ]6 f" K& P) T4 i6 ]
PathStr4 = Left(FName(i), L1 - 7) & " - 圖紙2"
; ]& m# S' z- A7 `7 [0 z( m PathStr5 = Left(FName(i), L1 - 7) & " - 圖紙3"* {- q) R" F/ h! R- b2 i
# O1 g: N" D/ t7 K* _
swApp.CloseDoc PathStr3
& H1 \$ `& { E- x swApp.CloseDoc PathStr4' ?6 r; _2 ~; N$ ?
swApp.CloseDoc PathStr5
( M$ \1 o& s8 g0 ^6 A/ @: H, z7 p: e' ~
Next i
^! }5 s% y9 {0 h/ N4 C
, z% q3 k( F! _) M/ x; BEnd Sub) l( z7 ^+ }" y0 d
8 B$ _5 N- v1 w0 V9 t- n
Private Sub Showfilelist(folderspec As String)
; C& s. G8 Q( G' ]$ K3 f4 \) T- c. _ Dim fs, f, f1, fc, s5 T7 Z6 t7 ~4 J X
Set fs = CreateObject("Scripting.FileSystemObject")
K7 l4 B& b9 s2 [/ S* q Set f = fs.GetFolder(folderspec)
$ e- b7 [: R- K1 ] Set fc = f.Files# f5 n. w+ _2 H9 Q
FNum = 0 '清零4 E) _' D# N4 Z5 {0 f5 U) [
For Each f1 In fc7 F1 Y' R) |2 _' B' u
If InStr(f1.Name, "SLDDRW") > 0 Then2 Q2 v7 y3 `/ o' {7 e" Q A; W
FName(FNum) = f1.Name
) u _3 i0 I) X, S: N FNum = FNum + 1' x& H$ e f& v- F( X8 z2 @2 o% P
End If2 N8 E9 {& u2 A! j5 q
Next ^) s/ x: f' i2 n
End Sub
2 ~/ {( v2 K+ @ |