iCAx开思网

标题: 常駐宏(在7樓下載) [打印本页]

作者: Francis    时间: 2013-12-16 19:34
标题: 常駐宏(在7樓下載)
本帖最后由 Francis 于 2014-2-13 22:51 编辑

{:soso_e113:}
[attach]1190069[/attach]


作者: 无情    时间: 2013-12-16 19:49
惊为天人
作者: gt.adan    时间: 2013-12-16 19:56
妖…不…是神!!
作者: Francis    时间: 2013-12-16 20:39
gt.adan 发表于 2013-12-16 19:56
妖…不…是神!!

期待前先請澄清以下的回復
https://www.icax.org/forum.php?m ... 242&fromuid=128


作者: wutong490    时间: 2013-12-17 08:43
想知道闷大的电脑配置

作者: Francis    时间: 2013-12-17 12:21
wutong490 发表于 2013-12-17 08:43
想知道闷大的电脑配置

爛到不行{:soso_e127:}
AMD CPU
256MB顯卡
2G RAM
6年前二千多元港幣買回來的{:soso_e136:}

作者: Francis    时间: 2013-12-17 15:19
不是簡體的系統可能會亂碼,紅色框內的文字可隨意修改。
[attach]1190159[/attach]
[attach]1190160[/attach]


作者: Francis    时间: 2013-12-19 19:08
到底是沒人感興趣還是【鬼片效應】。

朋友們發句話吧,讓悶人不要這麼納悶。
作者: ryouss    时间: 2013-12-20 11:28
Francis 发表于 2013-12-19 19:08
到底是沒人感興趣還是【鬼片效應】。

朋友們發句話吧,讓悶人不要這麼納悶。

2012 sp4繁版,作業平台 WIN7 64位元,操作失敗,
不知道是否某環節操作有誤?
[attach]1190364[/attach]

作者: Francis    时间: 2013-12-20 13:20
ryouss 发表于 2013-12-20 11:28
2012 sp4繁版,作業平台 WIN7 64位元,操作失敗,
不知道是否某環節操作有誤?

{:soso_e163:}感謝梁大幫忙測試。

交代一下細節:
[attach]1190375[/attach]
[attach]1190374[/attach]




作者: Francis    时间: 2013-12-20 13:23
另一段宏(當開啟檔案時執行)的效果:
[attach]1190376[/attach]


作者: ryouss    时间: 2013-12-20 14:43
Francis 发表于 2013-12-20 13:20
感謝梁大幫忙測試。

交代一下細節:

已測試成功,
謝謝分享及指導{:soso_e179:}{:soso_e183:}
[attach]1190383[/attach]

作者: Francis    时间: 2014-2-12 18:41
其實這是『常駐宏』的一個簡單例子,其普遍性比起『宏特徵』更高,而且產生的自動化功能更是神不知鬼不覺。

怎麼除了梁兄外就沒人討論?
作者: langzhi    时间: 2014-2-13 13:12
请问“常驻宏”是solidwork的事件吗?
作者: Francis    时间: 2014-2-13 14:40
langzhi 发表于 2014-2-13 13:12
请问“常驻宏”是solidwork的事件吗?

是有關的,但不是等同。

原理是利用“類模塊”常駐代碼到SLDWORKS.exe的內存中,
等同於利用“窗體”,在不關掉情況下,變相常駐了“窗體”內的代碼到SLDWORKS.exe的內存中。

那些代碼運用了SldWorks的事件,自動地執行一些容易被遺忘的任務,
就如7樓所提供的宏,在“類模塊”中編寫了兩段的函數:
第一段函數——當收到SldWorks的“切換文件”事件信息,就按照模型內的特定自定義屬性修改系統選項,達到『文件屬性 操縱 系統選項』的目的。
第二段函數——當收到SldWorks的“打開文件”事件信息,就抽取當前目錄名稱,填寫進自定義屬性之內。
作者: langzhi    时间: 2014-2-13 17:13
Francis 发表于 2014-2-13 14:40
是有關的,但不是等同。

原理是利用“類模塊”常駐代碼到SLDWORKS.exe的內存中,

谢谢闷大细心讲解。
作者: Francis    时间: 2014-6-16 21:58
可能大家都未能領悟箇中訣竅, 再來一個例子, 希望可以為各位帶來方便.


以一個叫做"图号名称分离"宏為例(不是悶人所寫的), 可以分離文件名稱為代號及名稱, 但必須手動運行, 忘記就出錯.
而嵌合宏問題多羅羅, 步驟繁瑣且有版本危機.

寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕.

1.
在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.

2.
新建一個宏, 儲存到"C:\Macros\AutoRun.swp"
把以下代碼完全取代模塊的內容:
Public AutoRun As 类1
Sub main()
Set AutoRun = New 类1
End Sub
再插入"類模塊", 名稱為"类1", 內容如下:
Private WithEvents SwApp As SldWorks.SldWorks
Private Sub Class_Initialize()
Set SwApp = Application.SldWorks
End Sub
Private Function SwApp_ActiveModelDocChangeNotify() As Long
Dim runMacroError As Long
SwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError
End Function
儲存宏及關閉SW.

3.
執行SW並一起載入宏的方法
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
作者: gt.adan    时间: 2014-6-17 10:51
本帖最后由 gt.adan 于 2014-6-17 11:23 编辑
Francis 发表于 2014-6-16 21:58
可能大家都未能領悟箇中訣竅, 再來一個例子, 希望可以為各位帶來方便.


以一個叫做"图号名称分离"宏為 ...

按教程操作完全成功~感謝悶大的分享與指導!
讓分離圖號名稱宏得以達到此堪稱完美的用法~


補充一下討論的連結:
https://www.3dportal.cn/discuz/fo ... wthread&tid=1250784

https://www.3dportal.cn/discuz/f ... &extra=page%3D1



作者: Francis    时间: 2014-6-17 11:06
有關Class Modules(物件類別模組 或 类模块), 可參閱:
https://msdn.microsoft.com/en-us ... 2%28v=vs.60%29.aspx
作者: gt.adan    时间: 2014-6-17 11:25
Francis 发表于 2014-6-17 11:06
有關Class Modules(物件類別模組 或 类模块), 可參閱:
https://msdn.microsoft.com/en-us/library/aa733572 ...

謝謝悶大提供資料~~

[attach]1200973[/attach]

作者: 大鹿    时间: 2014-12-13 11:35
顶给小白看
作者: api163    时间: 2015-1-6 16:35
正是我要找的触发事件
作者: api163    时间: 2015-1-7 08:38
Francis 发表于 2014-6-16 21:58
可能大家都未能領悟箇中訣竅, 再來一個例子, 希望可以為各位帶來方便.


以一個叫做"图号名称分离"宏 ...

闷大,我看你贴出的代码,是使 切换窗口时 运行宏。 如果是在 更改文件名时 运行宏就好了。有没有 在重新生成时 运行宏?好象SolidWorks没有提供这种方法。

作者: api163    时间: 2015-1-7 13:41
查的帮助
应该是用到的 RegenPostNotify2
作者: 开心心    时间: 2015-3-1 14:38
感谢大家
作者: zaq12    时间: 2015-3-1 20:29
Francis 发表于 2013-12-17 15:19
不是簡體的系統可能會亂碼,紅色框內的文字可隨意修改。

晕乎啊。拿着完全不会套用啊

作者: seanxujun    时间: 2015-5-20 12:48
当人想变懒时,真的是越来越想懒,多谢宏代码分享。
作者: ep2708605440    时间: 2015-7-28 08:57
哈哈 侃侃人 终于会了
作者: ep2708605440    时间: 2015-7-28 08:59
多刷点屏 让大伙都 看到
作者: ep2708605440    时间: 2015-7-28 21:39
什么时候我也可以这么牛
作者: an563903381    时间: 2015-9-28 14:35
Francis 发表于 2014-6-16 21:58
可能大家都未能領悟箇中訣竅, 再來一個例子, 希望可以為各位帶來方便.


以一個叫做"图号名称分离"宏 ...

3.
執行SW並一起載入宏的方法
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
请问以上这句是什么意思?

作者: an563903381    时间: 2015-9-28 14:56
ep2708605440 发表于 2015-7-28 08:57
哈哈 侃侃人 终于会了

我的怎么不成功,能否指点一二,谢谢

作者: an563903381    时间: 2015-9-28 15:41
gt.adan 发表于 2014-6-17 10:51
按教程操作完全成功~感謝悶大的分享與指導!
讓分離圖號名稱宏得以達到此堪稱完美的用法~

我的操作怎么不成功?请赐教,谢谢


作者: gcq225    时间: 2015-9-30 15:08
an563903381 发表于 2015-9-28 14:35
3.
執行SW並一起載入宏的方法
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"

第3步是执行DOS命令,每次都要执行这个命令
按照这个方法,变通一下,把这个命令做个批处理文件,然后成SW图标,替换原有的SW的快捷方式
后面每次执行SW是直接运行这个批处理文件,不需要再运行SW。


作者: gcq225    时间: 2015-9-30 15:20
Francis 发表于 2014-6-16 21:58
可能大家都未能領悟箇中訣竅, 再來一個例子, 希望可以為各位帶來方便.


以一個叫做"图号名称分离"宏 ...

按照这个方法,已经成功再变通一下,把这个命令做个批处理文件,然后成SW图标,替换原有的SW的快捷方式
后面每次执行SW是直接运行这个批处理文件,不需要再运行SW。如果把分离方式再改变一下即不需要分隔符,直接从文件名左侧开始区分单字节字符直到双字节字符(汉字)然后开始区分,这样就完美了



作者: weik    时间: 2015-11-1 14:29
标题: http://bbs.icax.org/thread-957549-1-1.html
本帖最后由 weik 于 2015-11-1 14:31 编辑

之前请教过闷大,一直被不能自动运行宏困扰,今天终于解决了,再次谢谢闷大   请教的帖子链接https://www.icax.org/thread-957549-1-1.html


作者: 口风琴    时间: 2016-1-30 23:48
闷大的神操作必须点赞
作者: 口风琴    时间: 2016-1-31 14:46
大鹿 发表于 2014-12-13 11:35
顶给小白看

鹿大,向您请教下,关闭sw文档触发宏该如何修改,我按闷大的宏把open改为close不起作用,是不是括号里的内容也需要修改

Private Function SwApp_ActiveModelDocCloseNotify2(ByVal FileName As String) As Long
'Private Function SwApp_FileOpenNotify2(ByVal FileName As String) As Long '當開啟檔案時執行(闷大源码,我把open改为close,放在上行)

第二行已经[size=15.1999998092651px]注释掉,运行后不能触发

作者: 大鹿    时间: 2016-2-3 19:20
口风琴 发表于 2016-1-31 14:46
鹿大,向您请教下,关闭sw文档触发宏该如何修改,我按闷大的宏把open改为close不起作用,是不是括号里的 ...

要看幫助文件的呀!亂猜一通中獎機會比買6合彩還低呀!
作者: 楠柠檬、    时间: 2016-2-4 14:14
gcq225 发表于 2015-9-30 15:20
按照这个方法,已经成功再变通一下,把这个命令做个批处理文件,然后成SW图标,替换原有的SW的快捷方式
...

批处理,想太简单,工程图的链接你不要了嘛?

作者: pzhzshun    时间: 2016-3-15 16:23
收藏学习了!
作者: llxxfflxf    时间: 2016-3-28 09:55
学习了,谢谢楼主!!
作者: gcq225    时间: 2016-3-28 14:19
本帖最后由 gcq225 于 2016-3-28 14:53 编辑
楠柠檬、 发表于 2016-2-4 14:14
批处理,想太简单,工程图的链接你不要了嘛?

恩,跟工程图没有关系。。。

作者: god-2008    时间: 2016-5-12 22:59
非常好的内容,必须认真研读一下。
作者: gdzsh    时间: 2016-8-11 12:54
我下了 里面是空的 啥也没有
作者: hailuohaili    时间: 2016-9-22 16:06
谢谢楼主!!
作者: hailuohaili    时间: 2016-9-22 17:22
终于能分离,拜谢。。。
作者: Debugg    时间: 2016-9-26 21:55
好,谢谢大大分享
作者: DaveChan    时间: 2016-10-7 09:46
Francis 发表于 2014-2-13 14:40
是有關的,但不是等同。

原理是利用“類模塊”常駐代碼到SLDWORKS.exe的內存中,

请问闷大,可否有【保存文件】运行的代码
作者: 蓝血刺猬    时间: 2016-12-13 08:23
下来用一下,就想提取个文件夹名
作者: cj8510    时间: 2017-2-6 08:50
很有技术含量的帖子,谢谢分享,最近在学习宏程序,发现宏的功能实在太强大了。
作者: 伟博先生    时间: 2017-6-21 21:04
gcq225 发表于 2015-9-30 15:20
按照这个方法,已经成功再变通一下,把这个命令做个批处理文件,然后成SW图标,替换原有的SW的快捷方式
...

请教下,如何制作批量预处理呢,我做了一个貌似不可以用。还请gcq告知下。

作者: gcq225    时间: 2017-7-3 14:42
本帖最后由 gcq225 于 2017-7-3 14:50 编辑
伟博先生 发表于 2017-6-21 21:04
请教下,如何制作批量预处理呢,我做了一个貌似不可以用。还请gcq告知下。

以前我也是理解错了,可以直接通过快捷方式直接启动常驻宏的。看看这个https://www.icax.org/thread-964846-1-1.html

作者: 伟博先生    时间: 2017-7-3 20:43
gcq225 发表于 2017-7-3 14:42
以前我也是理解错了,可以直接通过快捷方式直接启动常驻宏的。看看这个https://www.icax.org/thread-9648 ...

谢谢gcq的回复,之前你的那种方法也是可以用的,楠大的方法也是可以的。

作者: TeAmo870529    时间: 2017-7-18 11:14
哎。。看见英文版的就头疼
作者: chaomogu    时间: 2018-1-28 00:17
特来学习,感谢闷大
作者: ily25198    时间: 2018-2-22 10:41
Francis 发表于 2013-12-17 12:21
爛到不行{:soso_e127:}
AMD CPU
256MB顯卡

我不信啊,这种配置,切换real模式这么快啊。。。怎么优化的,求教啊

作者: ily25198    时间: 2018-2-22 13:36
ryouss 发表于 2013-12-20 11:28
2012 sp4繁版,作業平台 WIN7 64位元,操作失敗,
不知道是否某環節操作有誤?

直接把屏幕变成GIF的软件是什么啊。求助啊。

作者: a8012024    时间: 2018-2-28 08:32
谢谢分享!!
作者: magicnie    时间: 2018-4-30 11:11
这个好用多了
作者: jjmj77011    时间: 2018-10-19 19:44
真心喜欢这个工具

作者: djf454473376    时间: 2018-11-11 13:11
非常感谢闷大的教程
作者: hh4984    时间: 2018-11-17 17:05
学习了!!!!!!!!!!!
作者: Vic5945    时间: 2019-9-11 09:50
感谢分享,正在学习宏的编辑和运用

作者: 老陕在广东    时间: 2020-2-7 21:48
看常驻红
作者: 老陕在广东    时间: 2020-2-7 21:55
看常驻红
作者: shilimengma    时间: 2020-3-13 19:10
这个必须支持闷大
作者: yanguo521    时间: 2020-3-17 07:12
谢谢 分享   学习了
作者: jyzas    时间: 2020-11-17 08:54
谢谢楼主分享
作者: dubailiu    时间: 2021-1-12 22:25
太厉害了
作者: weiyongicax    时间: 2021-8-31 17:49
好好学习天天向上
作者: 耳朵er    时间: 2022-7-9 13:09

感谢楼主分享,很不错!
作者: 懒懒的高贵    时间: 2023-1-10 14:01
感谢楼主分享,学习了




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3