机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 9411|回复: 12

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

[复制链接]
发表于 2019-6-27 15:34:55 | 显示全部楼层 |阅读模式
第一步:将后缀为“.slddrt”的图纸格式文件放入此文件夹内,此图纸格式文件是自己需要的新图框。
+ _2 u8 x5 W  }: E第二步:将要替换模板的文件放入一个文件夹,将文件夹地址粘贴到相应的地方(程序中有备注)
3 C; N" g6 E  p第三步:用宏命令运行程序:
- ^- P2 j5 s, p( s7 z6 l: R& \/ h: O) i  o5 G
第一步的附图:6 I  z0 x6 g8 Q- B$ h3 o8 v
# h1 K. u7 l1 @
程序:0 e: _% ?0 \" B3 H( i' X
' ******************************************************************************
* O6 B, ]! b7 ^) }+ R$ C3 G/ V' C:\Users\Administrator\AppData\Local\Temp\swx8592\Macro1.swb - macro recorded on 06/26/19 by Administrator0 B7 n7 C" v. G8 I1 e  M, Z0 ^) W
' ******************************************************************************! Q, s# ]5 a  U# L
Dim swApp As Object
& P( S& |9 T  @. f7 n
7 k0 t& z0 U' u* q0 MDim Part As Object# N+ V5 C0 W9 u: ^2 U! `
Dim boolstatus As Boolean, R. o( N; D0 ]2 Z! A

" e+ x3 v7 i- E4 Y% B# P
( n7 p7 d5 D* _% w
  I& G5 g! J  @; y1 K9 z4 \' L5 l6 w1 K, m7 A; M' ~7 P3 k
4 b% B0 W& O% T$ N6 i$ L
Dim longstatus As Long, longwarnings As Long, myPath$, myFile$, a& }# A( }9 R4 E$ r( u
Dim i As Integer
  w" O% g  ?8 U
& h' |; ]: c: _# B* a* q7 fSub Main(), K5 E4 z: j0 p% d5 N
1 A# l( E' ^8 R8 n6 N1 [
* S5 |. w3 y3 V
$ @/ `( ~* W6 n0 ?+ @7 r! l
Set swApp = _; s+ T- U# e; e" F
Application.SldWorks5 f/ v  p" F# c" k8 b" x2 L7 v
myPath = "C:\Users\Administrator\Desktop\新建文件夹 (2)\" '把文件路径定义给变量,第二步中的路径填到此处。
  f2 V* P2 Q1 DmyFile = Dir(myPath & "*.slddrw") '依次找寻指定路径中的*.文件# \) h3 X5 }& s4 b& I. O* K4 ^) G
i = 0
3 u# e* {5 Z0 j2 ZDo While myFile <> ""
& t: b/ |  d* o! w9 |Set Part = swApp.OpenDoc6(myPath & myFile, 3, 0, "", longstatus, longwarnings)
' N  v) c. d8 n# l: C  e) K* O$ r
Set Drawing = swApp.ActiveDoc
6 ~1 l* N9 E7 f2 ~0 HIf Drawing.GetType <> 3 Then Exit Sub
% [7 ?6 z( C1 d3 b7 X4 u, DRetoreSheetName = Drawing.GetCurrentSheet.GetName  t8 B1 ^3 p; V% Y4 w
SheetName = Drawing.GetSheetNames
; e( S" Z) @. Y- ESheetCount = Drawing.GetSheetCount! g5 r8 g4 h: Y, M6 D. m7 y
For i = 0 To SheetCount - 10 _2 ^7 ~3 Q7 {1 d3 K4 |
    Drawing.ActivateSheet SheetName(i). H. p  v5 G+ ^; d. B
    swTemplate = Drawing.GetCurrentSheet.GetTemplateName
9 h9 j; h' b4 _! v: H% {# D    swTemplatePath = Split(swTemplate, "")
# o% S2 J* m$ w4 k2 v    swTemplate = swTemplatePath(UBound(swTemplatePath))
# \$ ^7 f6 A( R    vSheetProps = Drawing.GetCurrentSheet.GetProperties()$ K/ N1 m9 Z+ c" I$ g: g) z2 z
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, "", C0 N6 M$ E0 i6 H; M
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, ""1 T" n/ S7 d0 r; l& L. l
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
6 K, i( ~6 S* n& \" nNext( p8 R1 N# [% l1 |6 g' |  w
Drawing.ActivateSheet RetoreSheetName  ?% Q' ~! m% n% A1 o$ I0 ?" g& a( ]

6 |) C( U+ W) w1 k0 D8 L! k5 y5 CPart.Save/ y+ W1 b: a7 @8 P
swApp.CloseDoc myPath & myFile
7 `" l5 t" ~5 E  j% M" x, T4 [
* u0 B$ z6 L: }myFile = Dir '找寻下一个*.文件
4 L$ ]( k1 J3 d. k7 e% p' o0 b. C. e8 Y) Y
Loop
0 `0 ^* A) F' x' x! I' q6 ^
, [5 |7 e1 e' o, O& k  lEnd 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,像图片这样的
; f) d9 O1 v+ q3 w' ?  F或者钣金方面批量处理的VBA,比如批量改折弯系数 批量归类不同板厚零件的
% `( @+ Z% p6 ?+ ~: p: O

本帖子中包含更多资源

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

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, 2024-4-26 03:09 , Processed in 0.059028 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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