SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
- ^! o- @) b. h" U- \Dim swApp As Object8 C" k* a6 X) q/ M w! u/ l1 [+ ^; i
Dim Part As Object& j; J! @9 X6 o# F7 L; K
Dim boolstatus As Boolean
9 t& H! r1 Z% `) o# TDim longstatus As Long, longwarnings As Long6 I6 R8 @ i, q/ ]
Dim PathStr As String
2 G, k0 d# X! n( H8 P0 G' X+ F8 CDim FName(500) As String, FNum As Long
& K2 n# f3 q# X. G0 B7 v! T3 l( ?
Sub main()' b/ ]3 l4 d6 C( C/ j. ?
Dim i As Long
( t, @# c1 z7 [9 ]8 k5 BDim PathStr0 As String, PathStr1 As String: E, h5 c1 x7 l9 F. |$ ?0 Y! y
Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String! I0 X6 v: Q( p( C8 C
Dim L As Long, L1 As Long
$ q3 C' y0 K; E! |5 {' }/ Q9 CPathStr = InputBox("请输入需要转的工程图所在位置")# l [) Z1 u$ o
Call Showfilelist(PathStr) j5 n1 H# f3 W9 T4 D
Set swApp = Application.SldWorks; r) B- O" j3 v: F
) _5 O$ k; H' F* k+ k5 WFor i = 0 To FNum - 1
$ |. O( q8 u/ }' \ u' V7 ? PathStr0 = PathStr & "\" & FName(i)
; k0 P8 a3 b0 G Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
$ h; o- Q* z" a) n L = Len(PathStr0)
* x/ p! r; U5 @7 \+ T6 [; U PathStr1 = Left(PathStr0, L - 7) & ".DWG"
* x/ m5 J' B( r: |$ T PathStr2 = Left(PathStr0, L - 7) & ".PDF"; o$ h! T2 D' n1 v1 x3 {7 U
longstatus = Part.SaveAs3(PathStr1, 0, 0): P+ L$ Z) H; @
longstatus = Part.SaveAs3(PathStr2, 0, 0)
1 x4 O! p7 Z% k: V2 j) C
0 B, u/ O8 U9 }* C* Q( a- V6 b Set Part = Nothing2 W" X& O/ V/ \6 a8 F
: J! ~9 V0 `) r6 U6 U9 P
L1 = Len(FName(i))
9 h6 b$ {# w9 H& T$ n _1 `; E PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
$ ]7 F' u: B5 W$ ] PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"% N5 v2 v0 u; m1 T) w6 G$ F
PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
' J: k3 ?" c, w0 @! | : ]0 k. p2 N5 x* k$ v0 w! {
swApp.CloseDoc PathStr3
( m+ c& [- \' [ swApp.CloseDoc PathStr4! j1 A% c0 n, o6 {
swApp.CloseDoc PathStr5
$ t1 k, N( k$ S5 D
1 R7 t0 Z @5 D3 n$ BNext i
6 d7 x' I- M9 v! r. T/ N' Z
1 Y. v$ ?1 F$ KEnd Sub+ o: J7 s& R. W* S" R5 b
5 r1 ?$ @9 s4 J, A
Private Sub Showfilelist(folderspec As String)8 Y ` ~/ m+ k7 T( b
Dim fs, f, f1, fc, s+ ^6 l% w5 N ?* @
Set fs = CreateObject("Scripting.FileSystemObject")
- g0 X" K* z( h" p Z Set f = fs.GetFolder(folderspec)1 Y$ D8 Z- _$ p
Set fc = f.Files
" G+ p/ m1 D, T& f |& ? FNum = 0 '清零
+ @& y; m7 C9 t3 J" L/ e' p* M w# L For Each f1 In fc
; E: V( m; [4 _1 ^" @7 n$ u7 H If InStr(f1.Name, "SLDDRW") > 0 Then
0 m$ D* C3 x r" A3 |5 H! y( ? FName(FNum) = f1.Name9 p3 G7 Q; |& L) i
FNum = FNum + 18 m) E$ g+ ]) m3 \& j' N
End If
5 O! b1 `7 D1 S2 b) _ Next
' K2 J, b) z2 p/ UEnd Sub, r; V& F- K" b1 g& t# \
|