机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 10796|回复: 12
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2019-6-27 15:34:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一步:将后缀为“.slddrt”的图纸格式文件放入此文件夹内,此图纸格式文件是自己需要的新图框。
. o: B3 ?3 e( T5 \4 @第二步:将要替换模板的文件放入一个文件夹,将文件夹地址粘贴到相应的地方(程序中有备注)8 ]+ s0 H3 v6 e% |/ D* k
第三步:用宏命令运行程序:
, h" d% s7 n1 I# U2 A7 W  Z, E) x0 Q+ f- ~5 J& {2 D: T+ P
第一步的附图:9 H& Z8 T$ Y( N: D

0 [% I# l, a+ r0 c: ]程序:3 B! f! v$ r. m
' ******************************************************************************6 `2 b8 s" t1 x7 {7 y& }
' C:\Users\Administrator\AppData\Local\Temp\swx8592\Macro1.swb - macro recorded on 06/26/19 by Administrator8 R9 I3 ^6 ~6 K  U
' ******************************************************************************4 P9 Z. ^" n( b" G( W& s
Dim swApp As Object
( K. t9 [0 u9 J
: `5 I. P7 s1 _Dim Part As Object! \% j- F# ]; X1 U  R0 @- T& g
Dim boolstatus As Boolean  {8 A  C& [9 a$ M2 H/ J
% Q. d5 T4 O0 @4 @: C
9 ?- O/ ^, d% z* M2 P. a

: k3 B) r$ h! `4 z7 \8 Y: T% J/ H4 x- H: R9 {% e8 K& O4 F

4 @' {: i+ _! d5 Y' s  {Dim longstatus As Long, longwarnings As Long, myPath$, myFile$4 c9 L! b$ v/ F5 {  L' x
Dim i As Integer' S! O, F/ U+ j2 o. B
5 P, n6 T1 K- M! a
Sub Main()
+ y& `* W& \8 f/ x: A: r# q5 @2 f0 G# m1 z  n! g2 r$ `8 j

) w/ i- [& H5 y: f% x
, n3 [/ F8 K: z* B6 x% b& sSet swApp = _
' ]" Q3 j5 y, xApplication.SldWorks5 B3 J3 ?2 n; L8 d/ ~
myPath = "C:\Users\Administrator\Desktop\新建文件夹 (2)\" '把文件路径定义给变量,第二步中的路径填到此处。
5 O% P1 u( V$ k1 ymyFile = Dir(myPath & "*.slddrw") '依次找寻指定路径中的*.文件9 V, k" L& ^# o7 [
i = 0
! U$ Z) _$ p! U* X6 g  KDo While myFile <> ""# v3 o9 ?. Q2 f% c
Set Part = swApp.OpenDoc6(myPath & myFile, 3, 0, "", longstatus, longwarnings). o" i  i6 m' y- S7 d8 b

5 Y$ F! }; e- b& U7 m" }! ]Set Drawing = swApp.ActiveDoc8 k9 p) m! S( [
If Drawing.GetType <> 3 Then Exit Sub
3 P% Y1 O' J/ A5 j7 S; ORetoreSheetName = Drawing.GetCurrentSheet.GetName# y, H" O, ~0 O) u4 u
SheetName = Drawing.GetSheetNames# [/ D. ^8 {5 {: f& [: K2 m1 @
SheetCount = Drawing.GetSheetCount
9 D, T8 d) k$ E5 U7 U! {% sFor i = 0 To SheetCount - 1
% R" b( {/ U- {7 _, r8 M    Drawing.ActivateSheet SheetName(i)
1 t* \/ v8 z/ Y, d    swTemplate = Drawing.GetCurrentSheet.GetTemplateName7 z0 ~4 \+ Q- ?0 w( {- Y
    swTemplatePath = Split(swTemplate, "")
  e, |; ^) |# Z) V' f    swTemplate = swTemplatePath(UBound(swTemplatePath))+ I9 C( y+ q3 l' s' H5 C( t$ F
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
0 A1 }6 i7 P6 l2 V& K1 n) X    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, ""( s7 a' K+ ]7 @4 s, W2 E
    Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, ""! z5 B, k& b! P
    vSheetProps = Drawing.GetCurrentSheet.GetProperties()
8 e5 ]/ z$ L! V' TNext6 m  v2 Z2 i. j% L4 N+ ~" L
Drawing.ActivateSheet RetoreSheetName
1 d5 ^+ J. w6 x6 x9 k9 X# C2 h& \" l- B) p: Q( d/ ^0 J+ p. \
Part.Save) h7 C0 z* p% ]7 w) c3 Y
swApp.CloseDoc myPath & myFile% F$ W# ~: A1 p5 B. G) O5 E

* j9 L; L/ j' X+ x8 a, ^myFile = Dir '找寻下一个*.文件
0 W) y% p, r- d% d5 h0 ^: {. d1 ]9 X
Loop: j, h1 N2 l/ v
- [: o: X& L8 W* q( G; ~
End Sub

本帖子中包含更多资源

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

x

评分

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

查看全部评分

回复

使用道具 举报

2#
发表于 2019-6-27 16:01:35 | 只看该作者
感谢
回复

使用道具 举报

3#
发表于 2019-6-27 20:14:30 | 只看该作者
这种骚操作不用插件就能实现?
回复 支持 反对

使用道具 举报

4#
发表于 2019-6-27 23:26:40 | 只看该作者
有时间试试看,感谢
回复 支持 反对

使用道具 举报

5#
发表于 2019-6-28 12:52:17 | 只看该作者
好强大,谢谢楼主!!!
回复 支持 反对

使用道具 举报

6#
发表于 2019-6-28 16:53:35 | 只看该作者
楼主,有没有批量导入展开图的VBA,像图片这样的
5 I3 N; b8 S5 ?1 |6 w2 Y: n: ?* z# c或者钣金方面批量处理的VBA,比如批量改折弯系数 批量归类不同板厚零件的0 m" |" R9 b" L) x# ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

7#
发表于 2019-7-2 12:18:51 | 只看该作者
可以在solid works设置实现吗
回复 支持 反对

使用道具 举报

8#
发表于 2020-2-22 10:03:37 | 只看该作者
感谢,学习了
回复 支持 反对

使用道具 举报

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

使用道具 举报

10#
发表于 2023-5-13 17:55:59 | 只看该作者
学习学习
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-18 21:39 , Processed in 0.056079 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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