SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
/ k |+ z' G, m( S- o' R" \/ r7 tDim swApp As Object) i, E4 |8 v) _1 Q
Dim Part As Object C) ]' H7 F: g, E3 m# s$ H9 Z0 u
Dim boolstatus As Boolean
" [ [& j J5 r* J3 IDim longstatus As Long, longwarnings As Long5 h& x: y) H) O
Dim PathStr As String
9 H: x" s" ]- jDim FName(500) As String, FNum As Long5 Q1 L- K5 v. K" S0 u+ {
' `1 x. f' T; i5 ?6 H6 u; \* iSub main()2 [+ T( L" J' W$ h
Dim i As Long" ` |! D7 V+ F. i* n( e4 j3 P$ V1 G" q
Dim PathStr0 As String, PathStr1 As String
2 j' ^, K! O4 F7 ?5 sDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
4 G: O0 w/ ]2 `1 ?+ ^% YDim L As Long, L1 As Long
& ~. }$ m' ~; D+ y2 @PathStr = InputBox("请输入需要转的工程图所在位置")# f; O# t6 @# t
Call Showfilelist(PathStr)
/ a# B! `* k7 m$ OSet swApp = Application.SldWorks8 S- R+ v, Q9 w
0 o, z5 _. O3 Z6 O/ U( c6 KFor i = 0 To FNum - 11 `* f0 e' [! ^8 P/ c5 [! |* ]
PathStr0 = PathStr & "\" & FName(i)+ x; a& L" d% o
Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)5 C3 C/ T9 f/ Q& |
L = Len(PathStr0)
1 k0 {% g2 `4 U) A+ C2 I+ e! s PathStr1 = Left(PathStr0, L - 7) & ".DWG"
. d5 l% c7 U) E: s PathStr2 = Left(PathStr0, L - 7) & ".PDF"
6 z: z6 ^/ |6 P: q1 ` longstatus = Part.SaveAs3(PathStr1, 0, 0)5 ]2 _9 z6 G" y, x% i
longstatus = Part.SaveAs3(PathStr2, 0, 0)& A2 z- [% D2 B+ ^! @2 s: {
2 _& R3 B G+ ]0 u
Set Part = Nothing1 R G6 |7 O2 g' y ~2 I
6 K" G [- R0 s {& r8 [
L1 = Len(FName(i))
. d/ H) F: t; I- p9 q; R/ o3 d ? PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
! g3 @5 }/ T7 E# J' L- C PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"
' y0 B+ O7 k$ E! O PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
7 {7 p8 Z* y. u' _) A' P9 t
' z* l# _6 o0 t! {) k$ R swApp.CloseDoc PathStr3
4 {' n9 J8 ?; u7 C0 s swApp.CloseDoc PathStr4+ U! G- k$ u5 O, ^- y
swApp.CloseDoc PathStr58 c D1 q8 x* h; E0 g; d6 P% x
7 c3 S2 T! E& m
Next i
: _/ A) F8 `) q" w4 k X) K+ W, l0 i+ G# L
End Sub
7 Y8 G9 U5 q, {3 I! ^. n" r0 r
9 d. I8 f. Q, l2 k1 j" A5 k. \9 _) EPrivate Sub Showfilelist(folderspec As String)6 {: U% }9 {" n, L, t* M' L# {
Dim fs, f, f1, fc, s
9 Z" d1 U0 B8 \; L6 W2 ^" ]. i Set fs = CreateObject("Scripting.FileSystemObject")
, I% r! k( R& K" i Set f = fs.GetFolder(folderspec)9 g, `5 t* L% n" A" P& }! ?8 F3 p
Set fc = f.Files+ h) h% `, T$ Y" v' h6 Z3 N& f8 f
FNum = 0 '清零
! ?4 \6 P- d2 L) Z6 D# Q( K& e For Each f1 In fc
! X7 S7 _4 d* b$ Z If InStr(f1.Name, "SLDDRW") > 0 Then1 h. Y; {+ w" o/ q$ F1 x
FName(FNum) = f1.Name
6 f. p) M# P6 ~$ r; d/ S FNum = FNum + 1. Q3 b/ ]/ q8 A* D) a/ g7 u
End If5 ~# M& @. b5 |+ ]
Next
/ U( R5 V, q+ [6 C( }: K; n- @$ lEnd Sub8 F! U: o/ w. x
|