QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1540|回复: 5
收起左侧

[求助] 批量转cad和pdf宏错误,请高手指导

[复制链接]
发表于 2016-1-11 22:21:16 | 显示全部楼层 |阅读模式 来自: 中国浙江温州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
批量转cad和pdf宏错误,请高手指导,字体加粗的位置就不对了
- u; S' w% q% A% i- R2 `1 S- }代码如下
' i+ T0 J. a. w4 A' H8 XDim swApp As Object1 }% n0 p  a% A0 n- g3 m5 S
Dim Part As Object  {. [0 r+ A. D; R/ C0 v% p4 U
Dim boolstatus As Boolean3 W* i4 o4 V' I
Dim longstatus As Long, longwarnings As Long" `# P2 i# I; }
Dim PathStr As String& V) \$ Y! C5 H' N+ r2 R% I+ d; q5 D3 x
Dim FName(500) As String, FNum As Long& b1 E& a6 ?4 \; Y8 h% u& d3 E
Sub main()
$ f/ t# X( {; O1 XDim i As Long
; _; b9 f+ a. ^9 W% Z! tDim PathStr0 As String, PathStr1 As String
2 K6 \; Z; ]  _1 A" F' K& }. B- iDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
' @% o0 ?+ s8 v' ]Dim L As Long, L1 As Long+ `2 q; ^1 E( @$ V
PathStr = InputBox("请输入需要转的工程图所在位置")1 J/ x) W  j: N/ Y/ l6 Y
Call Showfilelist(PathStr)
8 N  u2 s! A% x& q: E$ wSet swApp = Application.SldWorks5 L) @3 K7 ]1 w6 M; A& W) F( P9 g
For i = 0 To FNum - 10 Y+ Z$ C& P2 l
    PathStr0 = PathStr & "\" & FName(i)
4 N1 Z. {- b& {% M8 z    Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
0 @( q, ]" o/ z9 \. b2 W& z1 f    L = Len(PathStr0)$ ]1 n& p0 S" J/ G& G7 _
    PathStr1 = Left(PathStr0, L - 7) & ".DWG"
/ N% L6 [* `$ h5 o, S3 g- a    PathStr2 = Left(PathStr0, L - 7) & ".PDF"7 S7 Y& z- t4 J: X+ U  ]' l9 B' W
    longstatus = Part.SaveAs3(PathStr1, 0, 0): x% Y# z: C& F! Q) j3 [2 N& D
    longstatus = Part.SaveAs3(PathStr2, 0, 0)) B* l1 p- d9 |. x9 c; G
    % Y( c, e* n% x) ]* G' S
    Set Part = Nothing
) H) z/ {: e. Q; P" U2 i* n    8 [+ G: t& `4 h; I
    L1 = Len(FName(i))
) z5 |# P) t( O3 i# S    PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
" I+ o, @/ N' u) n% v# _    PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"
3 {7 I, D3 c/ X' w    PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
; }( r& ]& Q6 k: g( Q    - |- O$ ~/ E1 r% {3 V
    swApp.CloseDoc PathStr3
! j0 M. V* X5 P3 E) K& g    swApp.CloseDoc PathStr49 B* G8 ]; q5 T* u  j" k5 s
    swApp.CloseDoc PathStr54 b7 h- n) z2 a1 u8 r# a5 U3 a8 E: _
Next i
7 {5 O, C4 Y# Q! g7 A, n! V  `End Sub4 h' T  v+ p. Q( s, o9 }, h8 r
Private Sub Showfilelist(folderspec As String)
+ f  X: j, S  T+ |# |8 C! u     Dim fs, f, f1, fc, s- Z+ _  n+ y8 I! v9 V
     Set fs = CreateObject("Scripting.FileSystemObject")
$ l! ?4 w* h  C     Set f = fs.GetFolder(folderspec)
6 |. [& D3 m- X6 y# n4 N% `     Set fc = f.Files
" S/ M3 ^( y2 X. r: d6 y     FNum = 0 '清零
7 V1 Y4 ?1 R2 X     For Each f1 In fc
: |* B. A/ D7 w8 Z( ]7 h1 S        If InStr(f1.Name, "SLDDRW") > 0 Then3 M, B, B# `. c- ~5 p
            FName(FNum) = f1.Name" ~% ~. b) _- d. T. _3 [
            FNum = FNum + 1
" g5 K4 X1 s% v$ y( c9 j        End If4 H3 H* B6 S# l0 o. _7 W
     Next3 f" w5 x4 X' j
End Sub
6 W9 @3 ?1 }4 p0 T4 P

工程图转换.rar

6.66 KB, 下载次数: 18

宏文件

发表于 2016-1-12 08:12:37 | 显示全部楼层 来自: 中国上海
试试,谢谢楼主
发表于 2016-1-12 10:47:16 | 显示全部楼层 来自: 中国广东佛山
理论上用saveas3 是没问题的。, M4 P5 j) \' X; p) F
楼主调试一下试试,看看
发表于 2016-1-12 13:16:20 | 显示全部楼层 来自: 中国广东佛山
本帖最后由 linuxbyte 于 2016-1-12 16:32 编辑
* n; m2 x; _9 z+ ^/ G0 v- c% K. [  F7 H% k/ r$ G
WIN7 x64 + SW2011 上述附件无错通过。
3 A! ?4 W6 h) X# Q% `( o6 L
 楼主| 发表于 2016-1-12 20:50:54 | 显示全部楼层 来自: 中国广东佛山
可是2016不行
  E6 [( e9 `$ Z# w/ `
4 _( t# F1 F+ }/ }: m4 v# o" R! @( a
发表于 2016-1-14 13:13:31 | 显示全部楼层 来自: 中国广东佛山
2016 x64 SP0.1 + WIN7 通过
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表