机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12152|回复: 16

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

[复制链接]
发表于 2019-6-27 15:34:55 | 显示全部楼层 |阅读模式
第一步:将后缀为“.slddrt”的图纸格式文件放入此文件夹内,此图纸格式文件是自己需要的新图框。, W. x; n  p% T7 }+ l
第二步:将要替换模板的文件放入一个文件夹,将文件夹地址粘贴到相应的地方(程序中有备注)
! x! S" s" j% l8 d0 v第三步:用宏命令运行程序:
, w" @/ f8 C2 I, x
. B8 I! k, N) B第一步的附图:2 d4 P7 w2 ]/ R; f
: D7 c4 X3 T+ U6 a2 {) n* r
程序:" L- W: ?" R  H. g, l2 M* x! j% V
' ******************************************************************************2 w5 E* J6 i# E% N5 w. c1 j, Z
' C:\Users\Administrator\AppData\Local\Temp\swx8592\Macro1.swb - macro recorded on 06/26/19 by Administrator0 a# {2 m. N) |$ K
' ******************************************************************************3 \7 u: w# d$ z6 S' ~- m
Dim swApp As Object1 ?) X8 N5 |3 B' i

! K7 k. r. r  L6 d, w- @3 GDim Part As Object" v& ^" H6 x, X9 G4 K5 d# O
Dim boolstatus As Boolean9 s2 W, F3 Q, n

2 S+ J5 F2 O1 h( v1 v5 ]0 p1 l! X" O7 f. T% K5 l( a* o

- b( p' s6 ~; E- `  G$ {- I8 R$ x& |3 O
! x* h5 f. o4 O6 B# F0 B8 x4 W% Q2 C
% A* q4 B9 Y) h' c. @Dim longstatus As Long, longwarnings As Long, myPath$, myFile$
. a6 |/ T  j, ]2 n" ?' iDim i As Integer; S5 p4 Z/ D! E* W1 Z; d
; v6 B7 n7 ^: o$ s2 W) [
Sub Main()1 n% H9 m9 G6 \/ O
4 a2 C, K( S, o6 I" E! h  u

- q! f6 y, n9 T% a1 C* l' H; C& p5 S2 Q: ?) d
Set swApp = _' j& Q/ \2 j$ A
Application.SldWorks
0 |; c* n% v! c4 L8 F% E- pmyPath = "C:\Users\Administrator\Desktop\新建文件夹 (2)\" '把文件路径定义给变量,第二步中的路径填到此处。
: W( }& I5 I: KmyFile = Dir(myPath & "*.slddrw") '依次找寻指定路径中的*.文件
0 b; n* }" D/ u+ x( L$ qi = 0
, {. @0 X' s2 k0 {, r4 d0 fDo While myFile <> ""% L: U# `$ g# ~; X. C* T5 r
Set Part = swApp.OpenDoc6(myPath & myFile, 3, 0, "", longstatus, longwarnings)" O5 z) k  ~# o* q' ?

4 l3 p9 O  s. o  }4 ~4 \Set Drawing = swApp.ActiveDoc/ }1 q. ~1 k$ E9 g3 x; K( Y
If Drawing.GetType <> 3 Then Exit Sub8 n. }' W3 O8 |( Z8 {' Q* p7 _
RetoreSheetName = Drawing.GetCurrentSheet.GetName
. y, @6 {; v( ISheetName = Drawing.GetSheetNames
( ^% ?3 b+ b' _( Z+ d# ISheetCount = Drawing.GetSheetCount
6 T0 c- n; {2 ?% |2 n! ^3 EFor i = 0 To SheetCount - 1
. p3 f) S! x8 P# B; w    Drawing.ActivateSheet SheetName(i)1 l5 W, H9 v# m. p% ]' e( K" D
    swTemplate = Drawing.GetCurrentSheet.GetTemplateName: x. Z% o) [2 _: _5 M4 X
    swTemplatePath = Split(swTemplate, "")
6 k' Y0 l& o9 I' g) t5 v3 K    swTemplate = swTemplatePath(UBound(swTemplatePath))1 r; M  c7 K/ D# Z" x
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
" r* F5 c. {3 I8 y7 N8 h- L0 d+ P    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, ""+ [+ o& d5 [* g
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, ""
$ v7 J% J6 L0 ^) H( b  D5 G    vSheetProps = Drawing.GetCurrentSheet.GetProperties()9 y) P  F: T. B8 F( H
Next1 V3 I; H; O- A( {
Drawing.ActivateSheet RetoreSheetName
  ?$ K0 X2 e8 L* n, k/ D
# q4 b5 s2 b4 S. M1 ^, APart.Save
% F4 O, W/ D! T) k% o7 QswApp.CloseDoc myPath & myFile
5 S( B0 N3 i0 l5 J2 v
; q5 O" b0 J( h7 t/ g+ A5 w( smyFile = Dir '找寻下一个*.文件8 U5 v' X: p- [" Z
2 q. q+ W5 }) b% g; f' I; \0 |
Loop
: s- i. {( s9 k7 V6 o) L2 ^, j* c5 {/ A# i
End 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,像图片这样的. [$ k. L  K" W* f- T6 U
或者钣金方面批量处理的VBA,比如批量改折弯系数 批量归类不同板厚零件的
! \/ C$ M/ d/ |: K, o3 ?4 k7 Q, W

本帖子中包含更多资源

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

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-4-12 05:38 , Processed in 0.059695 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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