SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
9 k$ l4 a7 _+ B, T' gDim swApp As Object
3 d) y5 i& f! t/ \Dim Part As Object& G( ?9 b2 {* a& S9 K
Dim boolstatus As Boolean
2 S$ H5 U0 c/ c# h" z+ D1 sDim longstatus As Long, longwarnings As Long$ [0 A9 o$ y' @4 w+ Q2 B1 `0 [+ I* w# J
Dim PathStr As String
6 X8 `/ X3 I4 x. QDim FName(500) As String, FNum As Long
. E* e: C4 Z$ |0 M) J2 O/ K5 L [" w8 b
Sub main()% k4 A0 o+ k0 o3 t# I8 H! D
Dim i As Long
/ q# o. n1 T" _Dim PathStr0 As String, PathStr1 As String
3 w; h1 q) ^7 v0 }) aDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String5 a+ i! U( o4 y( h! W
Dim L As Long, L1 As Long( A- g. D$ l% v T
PathStr = InputBox("请输入需要转的工程图所在位置")
8 `& z9 L1 X! n' m( _8 p( m7 eCall Showfilelist(PathStr)
1 u: f( @) p+ F. Q1 GSet swApp = Application.SldWorks
' a* f9 R& G9 }6 }: Q* q2 `" f$ Z( G! d- |
For i = 0 To FNum - 1
+ o# f M* L! s( F) ~ PathStr0 = PathStr & "\" & FName(i)
1 i* t7 T2 V1 D3 _: @& V Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)+ y0 B- T7 t4 V6 j; O
L = Len(PathStr0)- k: z' v% z# P7 W
PathStr1 = Left(PathStr0, L - 7) & ".DWG"
; m, e6 E6 C( \3 p PathStr2 = Left(PathStr0, L - 7) & ".PDF"
: r$ h, o8 G" a! k# H6 `- Q" M longstatus = Part.SaveAs3(PathStr1, 0, 0)
) [/ D4 y0 d3 v# Z, V& _- G longstatus = Part.SaveAs3(PathStr2, 0, 0)
! q8 q0 r% Z3 T) T& d . E9 M5 Q5 d7 i7 X; ?2 d- c' L" _
Set Part = Nothing
$ g, j% T4 y2 a2 G
, U$ I+ }8 R% e L1 = Len(FName(i))) ~5 l% s( e, D; Q: }, ?3 V
PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"5 I }5 w5 g' } t( Z- }
PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"
! d. E/ E% o% J1 i PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"8 B7 k |& v* I1 I4 l2 b
& N4 _( |5 d, s0 {0 F7 Y' r
swApp.CloseDoc PathStr3
% v6 h) F" y6 v+ y- i swApp.CloseDoc PathStr4
% V' i5 q3 y8 H& e1 F3 Q swApp.CloseDoc PathStr5
9 ~4 t1 ?# a! H. A# P* G: }. T8 j9 Q; M. L* ~+ J2 {; {) |9 c
Next i
4 R% S4 B7 ~0 I" G# s1 v
6 F! H4 }% O! JEnd Sub
' I8 ~2 y& R- H' T6 n3 x: h. Y4 _* w& T& Z: f0 q
Private Sub Showfilelist(folderspec As String)
- e) }4 Z! Y8 u1 n, a. C" t Dim fs, f, f1, fc, s
/ j: Y" M, l" X Set fs = CreateObject("Scripting.FileSystemObject")) C% U8 j5 V' V( e) l7 X. W
Set f = fs.GetFolder(folderspec)
. w- e( X" C) J Q0 v8 L3 y/ |5 r Set fc = f.Files" `& r$ \# ~" n4 w8 U) ~4 r
FNum = 0 '清零
* n- X% U$ h' {) i! g For Each f1 In fc) N4 a; A9 q% B3 c0 c; s; i- K
If InStr(f1.Name, "SLDDRW") > 0 Then
' v P' }0 ^, S FName(FNum) = f1.Name) q0 q2 r+ B/ \6 o. }* |
FNum = FNum + 1
D6 Q$ b0 r9 O2 T; L: g End If3 i. G5 B, n7 w- @# b; i
Next5 p4 M5 I) x2 \( _" B9 v
End Sub3 d( x' @& P+ k! e
|