SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:1 G& k4 t5 J1 a# S/ b
Dim swApp As Object
' Q0 h. L4 ~! a: s. v. `5 I8 O# iDim Part As Object
) c% x7 C4 O+ ]4 h, _Dim boolstatus As Boolean
' t8 c$ \& O. I. A+ ZDim longstatus As Long, longwarnings As Long0 U# j' q6 w* s9 J4 q! t
Dim PathStr As String( h* y4 b" s& q8 S
Dim FName(500) As String, FNum As Long
2 h3 Q) P% r8 W
7 R( I4 A3 ~8 n: o2 N! ]Sub main() a+ o' @; Z; _* _8 i
Dim i As Long5 g/ b& Q* h; B' c
Dim PathStr0 As String, PathStr1 As String5 j+ ~- f- u/ Q
Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
* F9 ?, j# d+ J# t5 _6 x6 WDim L As Long, L1 As Long
: e$ g. c8 {8 T. N4 R, z8 x' IPathStr = InputBox("请输入需要转的工程图所在位置")1 a6 Y3 }: X6 ] D8 J
Call Showfilelist(PathStr): ^8 h) V: L3 x+ y) l/ u
Set swApp = Application.SldWorks5 @0 A+ w+ o* V% W
) C9 S d8 V/ {2 L/ HFor i = 0 To FNum - 15 M( _) c3 B" E6 b/ t# [& r
PathStr0 = PathStr & "\" & FName(i)9 M+ j! i( H4 [
Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
% z/ m6 U3 w" S% j! x/ D8 }0 m( h L = Len(PathStr0). H4 z, z, `8 c& r! p. l
PathStr1 = Left(PathStr0, L - 7) & ".DWG"
9 p, b. b0 H+ a% Q PathStr2 = Left(PathStr0, L - 7) & ".PDF"
a# ?3 C7 d1 _, J, k longstatus = Part.SaveAs3(PathStr1, 0, 0)* |* {! U) X' J4 [/ b
longstatus = Part.SaveAs3(PathStr2, 0, 0)
% B4 G4 Z, p1 h) N* o1 a 5 ^8 z! A* S, i6 a" ^ i; N( a4 t* v
Set Part = Nothing
$ c j2 A$ W' L5 T9 {
9 Y* }4 m- l) }! m Z' _3 E L1 = Len(FName(i))
4 ]! Q' U( Z* ~3 ?5 X PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
8 l1 b% l: ]2 a+ Z! p4 w PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"* `5 L$ y) r" u) W
PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
+ B' K: B3 H+ c6 g, C3 D : n; d' j- }& X N' @1 A" r4 I
swApp.CloseDoc PathStr3
; z6 b+ U8 g8 j swApp.CloseDoc PathStr4* q: k, d6 _: g' y; \2 W. w
swApp.CloseDoc PathStr5
% B( U. L' B* I- X4 W9 O- o
( i5 \& n4 m( Z- I0 z6 JNext i1 d& `% J" W" P2 R; N1 N
- c0 |, B2 J4 t, g! g& p! R- _3 x
End Sub' ]8 n/ y* s! ~7 g' r
+ `0 U( g% G( r, E& _! L
Private Sub Showfilelist(folderspec As String)' k( y, A- i. G: ~
Dim fs, f, f1, fc, s$ m- P/ n& i' e- w
Set fs = CreateObject("Scripting.FileSystemObject")- h( v" ?2 c9 I7 f, ]& ?
Set f = fs.GetFolder(folderspec)/ _) W* R0 q+ p2 c
Set fc = f.Files7 F) a3 z+ B9 A c |) m$ G
FNum = 0 '清零
7 A& m6 b P2 S$ {: o2 y For Each f1 In fc- z, v1 w5 E l, }+ W5 f( x% C. P! _
If InStr(f1.Name, "SLDDRW") > 0 Then/ ^% Q" ~0 P2 P0 \" L" ]
FName(FNum) = f1.Name
& b- f- F5 u- [, H5 n- R3 U1 r7 @ FNum = FNum + 1+ d2 d: g9 c6 O4 v& L: n' w9 K
End If
, @5 G9 i0 h4 c ^ Next
. q! |5 B: J* M. I) `) |' Q) E+ rEnd Sub
( Q0 T8 Q( ^% ?0 n& _1 k |