SOLIDWORKS Task Schedular我試了,根本動不了,自己也倒騰了個宏,功能是工程圖轉換成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代碼復制進去----》存到硬盤某個位置----》,調用的時候是,工具----》宏---》運行,當然也可以自定義到SW的工具欄上,宏文件源代碼如下需要的拿去,:" ]! d) I" T; T2 E# Z' T
Dim swApp As Object
! W* u1 D, m, @! {$ a" @Dim Part As Object
* D7 s( ?; v" a( L) \7 B: A4 yDim boolstatus As Boolean! X- H5 ~9 Y- J' m2 w& d: S) {! Y
Dim longstatus As Long, longwarnings As Long- d0 t. O$ O$ D$ p' b% {8 P9 f
Dim PathStr As String8 ~) x2 }& X. v& ^1 M* B4 ~" q6 A
Dim FName(500) As String, FNum As Long
, d( \: P; y3 A
% R' X6 d" }0 p2 U0 G; pSub main()7 I5 e- Y% }# a* p @1 H$ s
Dim i As Long6 J( {$ b' K! Z- C8 _7 Y
Dim PathStr0 As String, PathStr1 As String
% N( p7 S! t# A jDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String# W) I+ w$ Q4 L- v$ D, P
Dim L As Long, L1 As Long& @6 q6 p/ p* h2 ]9 J4 g* S
PathStr = InputBox("請輸入需要轉的工程圖所在位置")
) `: G, S8 u7 n0 n, F, o0 I: ZCall Showfilelist(PathStr)
! U+ a4 C& q: c0 j9 R: z- _Set swApp = Application.SldWorks
1 @6 C2 t( W! f8 R' A d! d, K4 s& d; @" C4 D" M
For i = 0 To FNum - 12 ]5 G/ U2 @3 O* @2 H7 f
PathStr0 = PathStr & "\" & FName(i)
, H/ x/ d+ @ h- w" W# K# W Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
. a r( s1 u+ n" `$ Q L = Len(PathStr0)
/ I, B8 i) S8 B6 |: n s PathStr1 = Left(PathStr0, L - 7) & ".DWG"/ Z6 L% p2 [7 W+ k$ R( w
PathStr2 = Left(PathStr0, L - 7) & ".PDF"
$ W: Z" Q. ^1 C longstatus = Part.SaveAs3(PathStr1, 0, 0)
" G% M- b7 w9 k, o' A longstatus = Part.SaveAs3(PathStr2, 0, 0)) z% q% y- X$ R- F
: E* z/ b$ O8 ^6 l, T
Set Part = Nothing; u7 |, n5 H' A- m
. E7 x3 l4 Z6 Y3 \; F. d
L1 = Len(FName(i)), q# d. p3 P8 v- _
PathStr3 = Left(FName(i), L1 - 7) & " - 圖紙1"
9 R" ]3 B% B: V/ d PathStr4 = Left(FName(i), L1 - 7) & " - 圖紙2"
9 z% ~! X$ h/ F# P) A ^/ v. m* V PathStr5 = Left(FName(i), L1 - 7) & " - 圖紙3"+ ~/ K. \, P6 B1 ^8 s8 b
' |: h4 ?3 m6 k, A r swApp.CloseDoc PathStr30 p8 b! ~" n* r* ^
swApp.CloseDoc PathStr4% {5 B) ~# Z, n1 I" _4 ~
swApp.CloseDoc PathStr5& I& a+ z; D: o
% |3 c$ V( R! h. fNext i E7 y1 @+ A" Q
" o% X& ?! _/ d+ V
End Sub
" I6 r7 k; a+ Y, g4 V/ l) Q( X
% @1 a2 j& W% ]; w! u3 P3 fPrivate Sub Showfilelist(folderspec As String)/ g7 x. x. j. I: V" x9 |$ }
Dim fs, f, f1, fc, s
& C6 `7 j0 {; a6 f# T x1 | Set fs = CreateObject("Scripting.FileSystemObject")
2 D- y; S/ G" | Set f = fs.GetFolder(folderspec). |0 T" q- j; S% V0 x4 o( y: g& E
Set fc = f.Files
8 H: ~# T- F4 d8 g/ M FNum = 0 '清零$ [! m6 M9 ^& X. q+ O3 q& m, c: w R
For Each f1 In fc
/ c U5 h$ W# k$ d2 W If InStr(f1.Name, "SLDDRW") > 0 Then/ j% A& x' b! C) `
FName(FNum) = f1.Name- ^; R s* i" o0 G4 Q$ ~9 ~
FNum = FNum + 1. X9 z1 R3 p( p) ]
End If& z2 I) u, h' Z4 o% f$ S5 o1 v
Next- E" D5 \2 d5 k$ H5 Y$ K- I
End Sub
7 F. w9 e) V c1 u9 } |