SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 27434|回复: 79
打印 上一主题 下一主题

保存触发的常驻宏,宏的自动更新,自动执行

  [复制链接]

6

主题

29

帖子

36

金币

天使

Rank: 2Rank: 2

积分
85
QQ
跳转到指定楼层
楼主
发表于 2019-9-4 17:30:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   经典图书
这个宏是根据 楠柠檬、版大 和 国外的一个大神的程序改编的,实现保存就触发,楠柠檬和版大的宏只能根据切换窗口或者打开文件触发。单根据切窗自动执行宏,如果我新建了一个文件,然后以图号和名字命名好,我还没切换过窗口,那这个时候零件的属性栏还是不会有图号和名称,我直接从零件图创建工程图,工程图就无法链接零件图的图号,我再需要进行切换窗口的操作,这个操作是多余的,如果我点了保存就触发图号名称分离宏,那就不需要切窗了。



常驻宏.zip (13.65 KB, 下载次数: 319)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏17 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖1
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

3

主题

43

帖子

25

金币

天使

Rank: 2Rank: 2

积分
97
QQ
推荐
发表于 2019-9-11 10:58:06 | 只看该作者
谢谢正需要
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 1 反对 0

使用道具 举报

2

主题

48

帖子

13

金币

天使

Rank: 2Rank: 2

积分
92
QQ
板凳
发表于 2019-9-4 17:36:36 | 只看该作者

   经典图书
下面是搬运别人的原程序
模块:
Option Explicit
Public notifyWrapper As Class1

Sub main()
Set notifyWrapper = New Class1
notifyWrapper.monitorSolidWorks
End Sub
类模块:
Option Explicit
Public WithEvents swApp As SldWorks.SldWorks
Public WithEvents swAssDoc As SldWorks.AssemblyDoc
Public WithEvents swDrawDoc As SldWorks.DrawingDoc
Public WithEvents swPartDoc As SldWorks.PartDoc
Private Function swApp_ActiveModelDocChangeNotify() As Long
Dim swModelDoc As SldWorks.ModelDoc2
Set swModelDoc = swApp.ActiveDoc
Select Case swModelDoc.GetType
Case SwConst.swDocASSEMBLY
  Set swAssDoc = swModelDoc
Case SwConst.swDocDRAWING
  Set swDrawDoc = swModelDoc
Case SwConst.swDocPART
  Set swPartDoc = swModelDoc
End Select
Set swModelDoc = Nothing
End Function
Private Function swAssDoc_FileSaveAsNotify2(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swAssDoc_FileSaveNotify(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swDrawDoc_FileSaveAsNotify2(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swDrawDoc_FileSaveNotify(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swPartDoc_FileSaveAsNotify2(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swPartDoc_FileSaveNotify(ByVal FileName As String) As Long
preSave FileName
End Function
Public Sub monitorSolidWorks()
Set swApp = Application.SldWorks
End Sub
Sub preSave(sFileName As String)
MsgBox sFileName & " is about to be saved!"
End Sub
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

43

帖子

37

金币

天使

Rank: 2Rank: 2

积分
133
QQ
地板
发表于 2019-9-4 17:36:36 | 只看该作者
下面是搬运别人的原程序
模块:
Option Explicit
Public notifyWrapper As Class1

Sub main()
Set notifyWrapper = New Class1
notifyWrapper.monitorSolidWorks
End Sub
类模块:
Option Explicit
Public WithEvents swApp As SldWorks.SldWorks
Public WithEvents swAssDoc As SldWorks.AssemblyDoc
Public WithEvents swDrawDoc As SldWorks.DrawingDoc
Public WithEvents swPartDoc As SldWorks.PartDoc
Private Function swApp_ActiveModelDocChangeNotify() As Long
Dim swModelDoc As SldWorks.ModelDoc2
Set swModelDoc = swApp.ActiveDoc
Select Case swModelDoc.GetType
Case SwConst.swDocASSEMBLY
  Set swAssDoc = swModelDoc
Case SwConst.swDocDRAWING
  Set swDrawDoc = swModelDoc
Case SwConst.swDocPART
  Set swPartDoc = swModelDoc
End Select
Set swModelDoc = Nothing
End Function
Private Function swAssDoc_FileSaveAsNotify2(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swAssDoc_FileSaveNotify(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swDrawDoc_FileSaveAsNotify2(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swDrawDoc_FileSaveNotify(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swPartDoc_FileSaveAsNotify2(ByVal FileName As String) As Long
preSave FileName
End Function
Private Function swPartDoc_FileSaveNotify(ByVal FileName As String) As Long
preSave FileName
End Function
Public Sub monitorSolidWorks()
Set swApp = Application.SldWorks
End Sub
Sub preSave(sFileName As String)
MsgBox sFileName & " is about to be saved!"
End Sub
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

32

帖子

10

金币

混混

Rank: 1

积分
30
QQ
5#
发表于 2019-9-4 17:44:09 | 只看该作者

   经典案例图书
这是我改动的,只执行保存触发的宏 ,需要点击执行的
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

50

帖子

27

金币

天使

Rank: 2Rank: 2

积分
105
QQ
6#
发表于 2019-9-4 19:10:08 | 只看该作者
这个好,收藏学习了!谢谢楼主!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

45

帖子

26

金币

天使

Rank: 2Rank: 2

积分
96
QQ
7#
发表于 2019-9-4 19:10:08 | 只看该作者

   经典案例图书
这个好,收藏学习了!谢谢楼主!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

28

帖子

23

金币

天使

Rank: 2Rank: 2

积分
66
QQ
8#
发表于 2019-9-5 08:53:43 | 只看该作者
图号分离宏是直接放在路径里还是建立新类别、怎么建立、
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

41

帖子

30

金币

天使

Rank: 2Rank: 2

积分
114
QQ
9#
发表于 2019-9-5 09:11:12 | 只看该作者
楼主看到后加下我QQ:347811850 帮忙指导下、公司正好想这样用、谢了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

52

帖子

55

金币

天使

Rank: 2Rank: 2

积分
161
QQ
10#
发表于 2019-9-5 09:11:12 | 只看该作者

   经典图书
楼主看到后加下我QQ:347811850 帮忙指导下、公司正好想这样用、谢了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

41

帖子

39

金币

天使

Rank: 2Rank: 2

积分
133
QQ
11#
发表于 2019-9-5 09:17:51 | 只看该作者
......还是你自己慢慢研究吧solidworks网,必须顶一下
,先把楠柠檬的帖子研究透
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

50

帖子

38

金币

天使

Rank: 2Rank: 2

积分
124
QQ
12#
发表于 2019-9-5 09:17:51 | 只看该作者
......还是你自己慢慢研究吧solidworks网,必须顶一下
,先把楠柠檬的帖子研究透
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

39

帖子

35

金币

天使

Rank: 2Rank: 2

积分
117
QQ
13#
发表于 2019-9-5 09:19:40 | 只看该作者
你首先要有图号名字分离的宏
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

51

帖子

34

金币

天使

Rank: 2Rank: 2

积分
124
QQ
14#
发表于 2019-9-5 09:19:40 | 只看该作者
你首先要有图号名字分离的宏
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

49

帖子

7

金币

混混

Rank: 1

积分
17
QQ
15#
发表于 2019-9-5 10:15:42 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

我明白了你这个是常驻宏、然后结合楠柠檬的模式一起使用
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

55

帖子

35

金币

天使

Rank: 2Rank: 2

积分
128
QQ
16#
发表于 2019-9-5 10:15:42 | 只看该作者

   经典案例图书
我明白了你这个是常驻宏、然后结合楠柠檬的模式一起使用
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

51

帖子

15

金币

天使

Rank: 2Rank: 2

积分
64
QQ
17#
发表于 2019-9-6 10:10:47 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

搞定了、非常感谢!!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

45

帖子

34

金币

天使

Rank: 2Rank: 2

积分
135
QQ
18#
发表于 2019-9-6 10:10:47 | 只看该作者

   经典案例图书
搞定了、非常感谢!!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

53

帖子

35

金币

天使

Rank: 2Rank: 2

积分
136
QQ
19#
发表于 2019-9-10 13:55:31 | 只看该作者
使用挺好,谢谢楼主!!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

45

帖子

22

金币

天使

Rank: 2Rank: 2

积分
80
QQ
20#
发表于 2019-9-11 08:59:17 | 只看该作者
感谢zhang兄分享,学习了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-6-3 03:44 , Processed in 0.475217 second(s), 25 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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