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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4263|回复: 16
打印 上一主题 下一主题

宏执行SW自带菜单命令的方法-解决篇

  [复制链接]

17

主题

148

帖子

1291

金币

传奇

Rank: 8Rank: 8

积分
4067

最佳新人活跃会员热心会员宣传达人灌水之王

跳转到指定楼层
楼主
 楼主| 发表于 2024-12-5 14:42:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
先上一段宏,执行效果是  装配体下隐藏所有ToolBox 零件。
这段宏只是简单的执行了两个SW自带的菜单命令。
仅在2024SP5上测试通过

审核通过了再写找菜单ID的 方法;)



#If VBA7 Then
     Private Declare PtrSafe Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
#Else
     Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
#End If

Dim swApp As SldWorks.SldWorks

Sub main()

    Set swApp = Application.SldWorks

    RunWmCommand swApp, 59533

    RunWmCommand swApp, 32998

End Sub

Sub RunWmCommand(swApp As SldWorks.SldWorks, cmd As Long)

    Const WM_COMMAND As Long = &H111

    Dim swFrame As SldWorks.Frame

    Set swFrame = swApp.Frame

    SendMessage swFrame.GetHWnd(), WM_COMMAND, cmd, 0

End Sub

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

使用道具 举报

17

主题

148

帖子

1291

金币

传奇

Rank: 8Rank: 8

积分
4067

最佳新人活跃会员热心会员宣传达人灌水之王

沙发
 楼主| 发表于 2024-12-5 14:43:45 | 只看该作者
找菜单ID是关键,这里再次感谢“384432485”提供的思路

查找方法就是使用Spy++  这个监听小工具。
有2点需要说一下,Spy++是个“老”程序了,版本比较多,我下了4、5个才找到这个好用的。
另一点是,我之前设置了SW按管理员模型启动,这可能导致监听不到或冲 突。


早些时候的求助帖在这里
https://www.swbbsc.com/thread-380734-1-1.html


Spy++  使用方法
https://blog.csdn.net/zggzgw/article/details/103300579


Spy++ 下载地址贴不上来:(
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

17

主题

148

帖子

1291

金币

传奇

Rank: 8Rank: 8

积分
4067

最佳新人活跃会员热心会员宣传达人灌水之王

板凳
 楼主| 发表于 2024-12-5 14:44:57 | 只看该作者

   经典图书
3楼暂留3楼暂留3楼暂留
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

148

帖子

1291

金币

传奇

Rank: 8Rank: 8

积分
4067

最佳新人活跃会员热心会员宣传达人灌水之王

地板
 楼主| 发表于 2024-12-5 15:13:27 | 只看该作者
搜这个
Microsoft Spy++ 14.0.22129.1 绿色版
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

25

帖子

31

金币

天使

Rank: 2Rank: 2

积分
98
QQ
5#
发表于 2024-12-5 16:36:51 | 只看该作者

   经典案例图书
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

504

帖子

1131

金币

传奇

Rank: 8Rank: 8

积分
5854

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

6#
发表于 2024-12-5 16:42:23 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

230

帖子

222

金币

长老

彭于晏 [已认证]

Rank: 6Rank: 6Rank: 6

积分
1650

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

QQ
7#
发表于 2024-12-5 17:00:15 | 只看该作者

   经典案例图书
学习了--但是没学会- - -
[em ...
回复 支持 反对

使用道具 举报

3

主题

264

帖子

249

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2373

最佳新人活跃会员热心会员宣传达人灌水之王

8#
发表于 2024-12-5 18:12:56 | 只看该作者
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long请教楼主,这句飘红,是不是64位系统要改写才行

SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

808

帖子

9

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2208

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

9#
发表于 2024-12-7 14:22:35 | 只看该作者
学习了--但是没学会- - -
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

618

帖子

1882

金币

传奇

Rank: 8Rank: 8

积分
7477

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

10#
发表于 2024-12-7 16:16:58 | 只看该作者

   经典图书
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

148

帖子

1291

金币

传奇

Rank: 8Rank: 8

积分
4067

最佳新人活跃会员热心会员宣传达人灌水之王

11#
 楼主| 发表于 2024-12-7 21:24:55 | 只看该作者
sunny_8848 发表于 2024-12-5 18:12
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wM ...

不知道,这段本就是抄来的。
只是现在应该没谁用32位了吧,我的也是64位系统,所以应该不要改吧
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

172

帖子

141

金币

堂主

Rank: 4

积分
908

最佳新人活跃会员热心会员宣传达人灌水之王

12#
发表于 2024-12-22 09:29:21 | 只看该作者
学习了--但是没学会
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

151

帖子

2397

金币

传奇

Rank: 8Rank: 8

积分
5573

最佳新人活跃会员热心会员宣传达人灌水之王

13#
发表于 2024-12-25 13:07:40 | 只看该作者
就是发送消息号,我一直在用,很方便。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

808

帖子

9

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2208

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

14#
发表于 2024-12-25 20:43:08 | 只看该作者
就是发送消息号,我一直在用,很方便。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

151

帖子

2397

金币

传奇

Rank: 8Rank: 8

积分
5573

最佳新人活跃会员热心会员宣传达人灌水之王

15#
发表于 2024-12-28 15:01:26 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

caption_cn 发表于 2024-12-5 14:43
找菜单ID是关键,这里再次感谢“384432485”提供的思路

查找方法就是使用Spy++  这个监听小 ...


分享我在用的软件吧,简单快捷,打开spy.exe就行了

HotkeyP.zip

(10.82 KB, 下载次数: 107

SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

41

主题

2309

帖子

2972

金币

传奇

Rank: 8Rank: 8

积分
8939

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

16#
发表于 2024-12-30 10:14:03 | 只看该作者

   经典案例图书
SolidWorks机械工程师网,顶一下。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

678

帖子

985

金币

实习版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
6222

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

17#
发表于 2024-12-30 12:45:56 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

活到老学到老!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

613

帖子

461

金币

传奇

Rank: 8Rank: 8

积分
3688

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

18#
发表于 2025-2-27 12:48:11 | 只看该作者

   经典案例图书
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

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

手机版|小黑屋| GMT+8, 2025-5-23 15:10 , Processed in 0.790237 second(s), 26 queries , Memcache On.

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

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

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