SOLIDWORKS Task Schedular我試了,根本動不了,自己也倒騰了個宏,功能是工程圖轉換成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代碼復制進去----》存到硬盤某個位置----》,調用的時候是,工具----》宏---》運行,當然也可以自定義到SW的工具欄上,宏文件源代碼如下需要的拿去,:
, I/ v, B! M: o1 z0 R2 yDim swApp As Object6 Q/ k2 ]4 D3 k2 a9 n: u
Dim Part As Object6 {: X4 L: \! {7 W4 Z+ f
Dim boolstatus As Boolean
9 V9 c# U$ A# {, k5 kDim longstatus As Long, longwarnings As Long
: L! b$ d- b5 b/ G5 b' f2 ^- fDim PathStr As String
2 q# p! R9 a8 _( f0 z; {: q3 WDim FName(500) As String, FNum As Long3 P* x% r0 L" l) v$ J7 G2 W, z! w
8 H- l j7 M3 D0 @- t
Sub main() H4 m5 w; h6 n/ e
Dim i As Long6 E% s# y5 z g; l0 k& G( d: s8 g
Dim PathStr0 As String, PathStr1 As String
* S0 N k2 s% { \# YDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
3 Y2 T% ^# k) u. m, Q* P# Q' ADim L As Long, L1 As Long: g! U+ s; H" v. k o
PathStr = InputBox("請輸入需要轉的工程圖所在位置")
# W; Z+ a+ Z9 ~7 n' a: K3 qCall Showfilelist(PathStr)+ Q4 I' [ u( t0 ]5 F% a+ ~
Set swApp = Application.SldWorks" s% q3 o H6 S
V9 L# C7 W- ~
For i = 0 To FNum - 1# F! x) I- C. C$ m0 T$ W; W
PathStr0 = PathStr & "\" & FName(i)* ?8 B' L/ X7 F+ {
Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings). L( l9 ^3 D; h8 t
L = Len(PathStr0)
5 W1 ]" c: [9 ^. z8 y2 V6 G2 M PathStr1 = Left(PathStr0, L - 7) & ".DWG"
6 o/ c! H. u( y PathStr2 = Left(PathStr0, L - 7) & ".PDF"
/ O/ a+ F# [& u, H longstatus = Part.SaveAs3(PathStr1, 0, 0)
% k/ S$ W$ o* U8 B( Q longstatus = Part.SaveAs3(PathStr2, 0, 0)
9 B' W$ Q! {& w% L' G5 R . G: W6 ?& F6 z( P# T
Set Part = Nothing! I) p l- [) E9 D
& j- F$ I+ L( j j/ p L1 = Len(FName(i))
. r1 H5 [" p$ T( x. N: I PathStr3 = Left(FName(i), L1 - 7) & " - 圖紙1"7 f- V, \, Y; D
PathStr4 = Left(FName(i), L1 - 7) & " - 圖紙2"
3 h6 m1 i4 {$ T. E. P( G7 H9 f PathStr5 = Left(FName(i), L1 - 7) & " - 圖紙3"
6 Q& M9 Z Q8 k9 A8 ~: W
2 t. p$ X3 ~" g8 o! w9 {7 V swApp.CloseDoc PathStr3
+ p5 ~1 A* a) e1 ]0 L. a swApp.CloseDoc PathStr4
4 v- d" o* L; w# j swApp.CloseDoc PathStr5
7 C9 ` `8 P" f- F9 |
" x) ^' E4 v. a( N; H/ wNext i4 g2 U; I3 A7 L. u! B; \' x
* |6 E/ z/ d5 |1 x# f6 w" yEnd Sub$ T1 y) E" k% i: S/ t) Q: R
; M( `) Q% A. Q( a9 ?9 l& CPrivate Sub Showfilelist(folderspec As String); a; c. k9 Q( K, ~8 e
Dim fs, f, f1, fc, s, b' }) f+ e: S" s. n u4 E/ e1 E
Set fs = CreateObject("Scripting.FileSystemObject"). ^+ q# F- b2 k& w
Set f = fs.GetFolder(folderspec)& Y9 u9 [ F) W' ]$ }
Set fc = f.Files
, c- m; @$ r ^9 c! l9 Q FNum = 0 '清零 g) C+ F: l8 S
For Each f1 In fc, Y5 Q3 ~/ z! V0 v2 d( o2 o) {
If InStr(f1.Name, "SLDDRW") > 0 Then
O4 r% w2 K4 N% A7 i8 f FName(FNum) = f1.Name0 V0 Z6 {0 m: P
FNum = FNum + 1( M$ f* F4 B! H9 f
End If
3 ^" F' e6 g7 v2 p( I Next
9 j. E) p( ?/ Q) b2 o6 r/ N$ u8 O7 KEnd Sub& g$ x' H2 B0 ?3 h4 w1 N9 ^# f+ o
|