iCAx开思网

标题: 我的宏文件可以自动执行吗 [打印本页]

作者: weik    时间: 2015-5-8 09:39
标题: 我的宏文件可以自动执行吗
@大鹿  
问题的提出:
      我的SW文件名称是:01 Right Housing.sldprt,
      我想把01填到工程图里的“代号”栏,把 Right Housing 填到工程图的“名称”栏内。
      通过把前辈的宏文件的修改(见附件),已经初步达到预期效果。

存在的问题: 现在与以下问题请大侠指点
      1,我想把“代号”和“名称”添加到自定义属性中去,实际是填到了 配置特定 里面去了,如何改到 自定义里去?
      2,这个宏能不能放到Part模板里去,每次打开Part时都自动执行
      3,如果2不行,能不能像闷大的那样,搞个Excel档案,把一个文件夹下面所有的Part档案批量执行一下我的宏。
本人能力有限,请教各位了。。。。。


该贴已经同步到 weik的微博
作者: weik    时间: 2015-5-14 23:39
没有人回复?
作者: 楠柠檬、    时间: 2015-5-15 17:55
不懂宏。。只能帮你顶顶
作者: gaowengang    时间: 2015-5-17 18:03
让宏自动执行确实是个很有意思的问题。我也不知道如何仅仅依靠宏自己的功能,来实现宏的自动运行,但是,用 vb.net 制作的com加载项是可以在sw启动的时候自动加载的,因此,我们可以利用制作的这个加载项来调用sw的宏。经过我的试验,发现这个过程是比较简单的。
首先,安装位于SW的安装光盘目录下的 apisdk文件夹下 sdk,然后在 visual studio 2010 中就有了 swVBAddin 的模板,利用该模板新建个工程,然后在代码中搜索 SldWorks_DocumentLoadNotify2 这个函数,在该函数中加入两三行代码即可。
  1.     Function SldWorks_DocumentLoadNotify2(ByVal docTitle As String, ByVal docPath As String) As Integer

  2.         Dim boolstatus As Boolean
  3.         If docPath.EndsWith("SLDPRT") Then
  4.             boolstatus = iSwApp.RunMacro2("C:\Documents and Settings\gaowengang\My Documents\sw宏\macro2.swp", "macro21", "main", swRunMacroOption_e.swRunMacroUnloadAfterRun, swRunMacroError_e.swRunMacroError_CallFailed)
  5.         End If
  6.     End Function
复制代码


将这个工程编译,然后每当在SW中打开后缀名为“SLDPRT”的文件的时候,会自动调用 macro2.swp这个宏文件 里面的 macro21 模块下的 main 函数
(注:以上试验只是实现 了宏的自动调用,但是要实现楼猪的真正需求可能是非常困难的。)

作者: 326347    时间: 2015-5-19 18:19
真心不懂
作者: 莱虫    时间: 2015-5-20 01:22
相關帖子:
https://www.icax.org/forum.php?mod=viewthread&tid=911488
作者: ep2708605440    时间: 2015-9-11 13:34
妹子 你搞定了么 没搞定@我
作者: an563903381    时间: 2015-9-28 15:10
ep2708605440 发表于 2015-9-11 13:34
妹子 你搞定了么 没搞定@我

请赐教

作者: an563903381    时间: 2015-9-28 15:31
gaowengang 发表于 2015-5-17 18:03
让宏自动执行确实是个很有意思的问题。我也不知道如何仅仅依靠宏自己的功能,来实现宏的自动运行,但是,用 ...

为什么我的电脑没有visual studio 2010只有visual studio 2005 而且找不到  swVBAddin模板,我的是win7 64位,SW2014版,
作者: 783950144    时间: 2016-2-26 17:10
我现在能做到的是把图号名称放到自定义里面,然后用一个常驻宏去调用图号名称的这个宏,在切换窗口的时候就抓取一次(打开文件也算切换窗口),应该能符合你的要求
作者: 楠柠檬、    时间: 2016-2-26 18:47
楼上说的没错,这样确实可以实现
作者: gcq225    时间: 2016-3-28 14:22
本帖最后由 gcq225 于 2016-3-28 14:25 编辑

我倒是想把属性填到配置属性里,就是抓取配置名称而不是文件名,然后分离名称图号填到相应的属性里,怎么实现啊?
楼主的代码能贴出来么?


作者: jch2005    时间: 2016-4-27 09:08
783950144 发表于 2016-2-26 17:10
我现在能做到的是把图号名称放到自定义里面,然后用一个常驻宏去调用图号名称的这个宏,在切换窗口的时候就 ...

你好,请问下能否分享你的方法或者论坛教材,,谢谢
作者: 332321665    时间: 2016-5-12 18:22
谢谢分享
作者: liuzhanping9605    时间: 2018-4-17 19:42
可以自动执行
作者: 43249931610    时间: 2018-7-27 14:48
找了很久,都没解决这个问题,希望这次可以
作者: weik    时间: 2018-8-2 16:41
@十楼,我现在就是这样使用的,只不过有的时候忘记切换窗口了,就没有更新
作者: 章鱼小丸子    时间: 2019-6-19 14:26
ep2708605440 发表于 2015-9-11 13:34
妹子 你搞定了么 没搞定@我

你好,我有很重要的事情要你帮助,就是你说的,把图号名称放到自定义里面,然后用一个常驻宏去调用图号名称的这个宏,在切换窗口的时候就抓取一次,我想要这个,谢谢你

作者: 章鱼小丸子    时间: 2019-6-19 14:28
783950144 发表于 2016-2-26 17:10
我现在能做到的是把图号名称放到自定义里面,然后用一个常驻宏去调用图号名称的这个宏,在切换窗口的时候就 ...

你好,我有很重要的事情要你帮助,就是你说的,把图号名称放到自定义里面,然后用一个常驻宏去调用图号名称的这个宏,在切换窗口的时候就抓取一次,我想要这个,谢谢你





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