SOLIDWORKS Task Schedular我試了,根本動不了,自己也倒騰了個宏,功能是工程圖轉換成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代碼復制進去----》存到硬盤某個位置----》,調用的時候是,工具----》宏---》運行,當然也可以自定義到SW的工具欄上,宏文件源代碼如下需要的拿去,:
/ ]6 i& k) X5 @' S4 e6 U& G7 ~1 vDim swApp As Object
3 ?* S- \3 y' R" u& SDim Part As Object/ Y. [) J9 | m0 G" K3 t/ M( A* c
Dim boolstatus As Boolean6 q$ z! \3 h1 m! ^! d) V# g/ p
Dim longstatus As Long, longwarnings As Long. ]0 K V, X6 k) u+ s1 [1 ~. Z
Dim PathStr As String
7 C$ B3 d L3 P s( Q+ ?3 }( q* u% X; sDim FName(500) As String, FNum As Long
7 @' a- g* Y) J& i1 `
A/ o) O$ O/ b; gSub main()* X- Y6 B! O0 D' G
Dim i As Long: D/ R. K b6 f" F% ^, |+ w, M
Dim PathStr0 As String, PathStr1 As String
$ G, x8 L7 a2 R, d) N, J; Z6 }Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String' B( N$ ~7 A1 s8 b, j8 L
Dim L As Long, L1 As Long
) k9 @8 |! Y" w8 H. Y2 _PathStr = InputBox("請輸入需要轉的工程圖所在位置")& W9 u# T; d- \6 d/ T) s, D
Call Showfilelist(PathStr)
3 R" _/ l9 N9 ?* ^, Y3 }7 TSet swApp = Application.SldWorks" z6 u' v1 \9 b: S+ B
% T% z/ Y/ h! I. x' A( y" a/ GFor i = 0 To FNum - 1& Q% n& s9 ^0 M4 \2 ~
PathStr0 = PathStr & "\" & FName(i)- C2 p% T, L: k) o. c+ _
Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
; K5 V7 Z6 }' S: y1 l, l5 K L = Len(PathStr0)
* q# |! S; ?& h7 W PathStr1 = Left(PathStr0, L - 7) & ".DWG"* K C3 d' ]5 X
PathStr2 = Left(PathStr0, L - 7) & ".PDF"
; u) @9 D/ h( d c longstatus = Part.SaveAs3(PathStr1, 0, 0)' |/ \$ ]8 A, v; K' o0 J+ W: s* a
longstatus = Part.SaveAs3(PathStr2, 0, 0)
# N% [8 i4 p( u$ L# ~ # P$ u# C: e# v) d' C
Set Part = Nothing
/ v" B/ o5 S- W6 m3 `0 r: F
; X! c$ F; B8 r# z' z0 v. f L1 = Len(FName(i))
3 [1 K8 x' \7 ~ PathStr3 = Left(FName(i), L1 - 7) & " - 圖紙1"3 e$ z. V/ N6 W4 {3 m
PathStr4 = Left(FName(i), L1 - 7) & " - 圖紙2"
9 f2 U8 C; {6 R" j* o8 V PathStr5 = Left(FName(i), L1 - 7) & " - 圖紙3"9 U6 V2 V0 g( {9 |; e8 h+ A
) Q, S* @1 s2 i; I) P; _5 B
swApp.CloseDoc PathStr33 E8 W- q! i8 H3 P
swApp.CloseDoc PathStr4
& y, v2 s7 ]6 _! M) b) Q. ^ swApp.CloseDoc PathStr5
% `& o- Q& f) _5 f+ \( u) ?' s' U8 G4 k6 B7 j& T7 X6 m6 M/ q) d+ t, b
Next i' \( M5 ~1 U3 `% v" h" U9 G9 y/ R' v
: x/ T. f8 N3 Z* w( ]- N# N; hEnd Sub6 p5 ], j8 t, j1 k v5 c* n
- r$ l. U+ {7 j4 |2 u
Private Sub Showfilelist(folderspec As String)% H2 G* H% ^& f; a
Dim fs, f, f1, fc, s
! r9 b+ F3 ]% p; O3 y7 w Set fs = CreateObject("Scripting.FileSystemObject")
9 b4 i. M1 p6 Y k' [9 u7 j Set f = fs.GetFolder(folderspec)
: b3 _ Z- J8 Y1 p9 F# q Set fc = f.Files
* z- p4 g1 y( v& _' I2 M FNum = 0 '清零; S8 R8 D) S$ S |8 @1 I
For Each f1 In fc5 r( H8 B2 F; M$ L% W
If InStr(f1.Name, "SLDDRW") > 0 Then u' u3 I) o3 p
FName(FNum) = f1.Name+ u; a& ~8 }: G; h8 q
FNum = FNum + 15 l/ `9 d6 _1 |* r( }; y
End If
/ B- }+ j/ i0 O6 v Next6 k/ J1 n. q3 g# p8 S3 }7 \, C
End Sub
; ~3 S R# ?$ U3 ^/ ]; ^5 D( ? |