氧化铁黑厂家
免费服务热线

Free service

hotline

010-00000000
氧化铁黑厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

如何在AutoLISP调用完一个VBA宏后卸载包含它的VBA工程-【新闻】金属带锯床

发布时间:2021-04-20 12:46:23 阅读: 来源:氧化铁黑厂家

如何在AutoLISP调用完一个VBA宏后,卸载包含它的VBA工程?

问: 如何在AutoLISP调用完一个VBA宏后,卸载包含它的VBA工程?我想首先加载这个工程,调用一个宏,然后卸载它。下面是我使用的代码,但是VBAUNLOAD在Test宏结束之前被发送到命令行。

答:主要的问题是你的宏当中有要求用户输入的语句,这时LISP试图执行下一条命令,即VBAUNLOAD。我们需要等待LISP语句执行完毕,或者让LISP在调用VBARUN命令后什么也不做,而让VBA卸载它自己。下面是这两种方法:

2) 在LISP中等待。

oldCmdEcho

)

)

)

)

2) VBA中自动卸载。

你可以使VBA代码强制卸载它自己。在你的宏的最后,使用下列代码可以达到此目的:

AppActivate ThisDrawing.Application.Caption

SendKeys "_VBAUNLOAD" + Chr$

以上的代码在AutoCAD R24.22中工作良好,但是AutoCAD 2222允许加载多个工程。相应地,VBAUNLOAD增加了一个额外参数。有两个新的函数可以加载和运行VBA 代码:和。你可以通过在宏名中指定工程名字把这两种操作联合在一起。

oldCmdEcho

)

)

)

)

第二种方法也需要做一些小的改动。我们可以通过自动接口向AutoCAD发送命令,并且这比SendKeys更安全:

ThisDrawing.SendCommand "_VBAUNLOAD C:\TEST.DVB" + Chr$

如果我们卸载另一个工程,我们可以使用自动接口 。但是在这种情况下我们需要使用SendKeys或SendCommand来卸载其本身。

衬氟隔膜阀

组合式排气阀

衬氟蝶阀