机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12272|回复: 16

solidworks批量换工程图图框的VBA代码

[复制链接]
发表于 2019-6-27 15:34:55 | 显示全部楼层 |阅读模式
第一步:将后缀为“.slddrt”的图纸格式文件放入此文件夹内,此图纸格式文件是自己需要的新图框。0 Y& M( ]( t& {( x) ~  E
第二步:将要替换模板的文件放入一个文件夹,将文件夹地址粘贴到相应的地方(程序中有备注)" H7 H5 K9 t3 R, m! |2 b- ^
第三步:用宏命令运行程序:
$ l' H- D2 K3 x) e
" }: t0 a: Y5 c) o0 e第一步的附图:
& T1 E! n3 v3 p: V& p
; `8 ~& \6 h. X  P; [2 Q程序:$ K9 m1 w& O( k, _
' ******************************************************************************
1 Y5 Y$ U8 {& B- P! e  d5 Z$ \# h! G* ?' C:\Users\Administrator\AppData\Local\Temp\swx8592\Macro1.swb - macro recorded on 06/26/19 by Administrator+ l  u2 ~$ r" Q
' ******************************************************************************
3 c8 t+ B$ R3 ^$ ?, xDim swApp As Object9 r1 r- Z2 W3 f1 c  Z
1 Z3 o' k5 D1 h! W$ T/ O  @
Dim Part As Object
5 c' a5 q# D- \Dim boolstatus As Boolean+ T2 s/ R# _# K+ `4 v
. e/ `! |. u7 t: @6 U

# P! J: ^3 K2 @& f- p
% {4 V6 R2 x+ k0 T+ K9 y2 [% Z/ r& \6 Q& c" t  K& s

5 |, E( h" Z' i+ N- f& iDim longstatus As Long, longwarnings As Long, myPath$, myFile$- J$ M$ m6 s+ n' E7 x; b; n  `' p
Dim i As Integer; Y0 E) P/ U3 q1 G( j, I
8 j5 J4 L+ ?' J1 l
Sub Main()2 F) G: u, C$ M% H% x. J

* a4 M3 D% ?6 l. D9 C) y  s! H; x: R- D2 w- I4 ]
) Z3 _$ T2 z3 K' t0 x. W: p
Set swApp = _
* W$ e: J( ~4 B2 F/ C3 C1 A% L' fApplication.SldWorks- B4 C; @# ?  J6 q# P' U" G3 L
myPath = "C:\Users\Administrator\Desktop\新建文件夹 (2)\" '把文件路径定义给变量,第二步中的路径填到此处。* o* t3 x" ^7 ~) [+ ~4 G* R! H
myFile = Dir(myPath & "*.slddrw") '依次找寻指定路径中的*.文件) c7 ?& r& m7 E$ \
i = 0
' S  u  X  F9 q+ y. `Do While myFile <> ""/ O$ I' ^: M6 f4 Y- d4 ^  \# p1 j
Set Part = swApp.OpenDoc6(myPath & myFile, 3, 0, "", longstatus, longwarnings)
. U* n8 a$ r) }) d8 i3 q/ l; k4 B# G3 R! H9 _# Z4 ]2 y
Set Drawing = swApp.ActiveDoc
6 K$ Z. K% J) F+ tIf Drawing.GetType <> 3 Then Exit Sub/ e. V1 d& L# L; c9 s' p( e
RetoreSheetName = Drawing.GetCurrentSheet.GetName; ^% J1 X; [& Z# I8 N3 Z+ r7 {
SheetName = Drawing.GetSheetNames0 u7 c' K0 W6 ^8 ]
SheetCount = Drawing.GetSheetCount
8 m6 P3 w. v/ `) [" _7 UFor i = 0 To SheetCount - 10 s" b- F! S' x+ O
    Drawing.ActivateSheet SheetName(i)
# P3 P9 X$ g) D. [4 T6 \    swTemplate = Drawing.GetCurrentSheet.GetTemplateName
% w5 \* o# I2 v. _5 M! C. v1 \    swTemplatePath = Split(swTemplate, "")
$ K3 M) j, A/ ~- g    swTemplate = swTemplatePath(UBound(swTemplatePath))
% B; T$ Y; C3 I& _/ E1 [' Y    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
# Y/ y! y" G! U* V    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, ""8 R+ F8 Z3 M" T5 X; E& W
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, ""% L& P$ f8 _# d
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
. P; A: s8 |( \! JNext$ g: j9 P7 g; c, V) C& n5 ~3 n
Drawing.ActivateSheet RetoreSheetName
/ `! {2 Q; h" S4 r8 B
+ [  Y  @& a3 K2 I+ ~Part.Save- E  Z5 ?# Y: k& i0 s( w
swApp.CloseDoc myPath & myFile
( y! v2 D( L( p$ Z# k+ t3 \
4 Q7 V  v3 r: i" E( ~myFile = Dir '找寻下一个*.文件
: i! o( s% }2 _4 m& M* E# ?
0 G' q. C& @4 bLoop' p# _3 t3 d$ P* J; ?  O

+ z: j8 D- g4 D$ O+ S. u  qEnd Sub

本帖子中包含更多资源

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

x

评分

参与人数 2威望 +2 收起 理由
防弹蜗牛 + 1 热心助人,专业精湛!
喂我袋盐 + 1 热心助人,专业精湛!

查看全部评分

回复

使用道具 举报

发表于 2019-6-27 16:01:35 | 显示全部楼层
感谢
回复

使用道具 举报

发表于 2019-6-27 20:14:30 | 显示全部楼层
这种骚操作不用插件就能实现?
回复 支持 反对

使用道具 举报

发表于 2019-6-27 23:26:40 | 显示全部楼层
有时间试试看,感谢
回复 支持 反对

使用道具 举报

发表于 2019-6-28 12:52:17 | 显示全部楼层
好强大,谢谢楼主!!!
回复 支持 反对

使用道具 举报

发表于 2019-6-28 16:53:35 | 显示全部楼层
楼主,有没有批量导入展开图的VBA,像图片这样的0 l- |  |% {; {+ n
或者钣金方面批量处理的VBA,比如批量改折弯系数 批量归类不同板厚零件的
$ O$ c( l$ d% L! v

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2019-7-2 12:18:51 | 显示全部楼层
可以在solid works设置实现吗
回复 支持 反对

使用道具 举报

发表于 2020-2-22 10:03:37 | 显示全部楼层
感谢,学习了
回复 支持 反对

使用道具 举报

发表于 2020-10-11 10:13:10 | 显示全部楼层
宏内部能否指定(图纸格式文件),现在运行宏,显示要选择图纸格式文件,能否不要互动窗口,直接指定某个文件进行替换
回复 支持 反对

使用道具 举报

发表于 2023-5-13 17:55:59 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-5-1 17:53 , Processed in 0.087052 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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