fantasyfly 发表于 2007-9-26 11:23:00

在菜单中好何运行VBA程序?

<div class="tpc_content">自定义菜单,然后选择菜单下拉菜单选项,就可以直接运行VBA程序.<br/>现在我用了VBARUN,但不能直接运行,而是出现宏的窗口.该怎样解决?<br/>在VBA里如何写这一段程序?<br/>还有,我该怎样指定VBA程序?路径如何确定?<br/>谢谢各位.</div>

alin 发表于 2007-9-26 15:00:00

<p>通常我会用LISP来做,例如</p><p>(defun CreateSteelLayers ()<br/>&nbsp; (vl-vbarun<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "C:\\work\\CreateSteelLayers.dvb!MakeLayers.CreateLayers"<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)</p>

fantasyfly 发表于 2007-9-26 15:27:00

回楼上

<p>非常感谢,</p><p>能否在VBA程序中添加该类语句,如何加?</p>

alin 发表于 2007-9-26 18:59:00

能否在VBA程序中添加该类语句? 你该不是想程序在运行过程中启动自己吧。

fantasyfly 发表于 2007-9-27 08:59:00

回楼上

<p>我想自定义一个菜单,然后选择该项菜单就可以直接运行VBA程序.</p><p>但不知道怎样将菜单指定运行该VBA程序?</p>

alin 发表于 2007-9-27 09:14:00

<p>(defun CreateSteelLayers ()<br/>&nbsp; (vl-vbarun<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "C:\\work\\CreateSteelLayers.dvb!MakeLayers.CreateLayers"<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)</p><p>Put the lisp file above in StartUpSuite</p><p>then on toolbar button assign <strong>^c^c(CreateSteelLayers);</strong></p>

fantasyfly 发表于 2007-9-27 10:37:00

<p>ThisDrawing.SendCommand "(defun C:InsertRM6 ()(vl-vbarun""C:/Program Files/RM6/RM6-Project.dvb!ThisDrawing.RM6Select"")(princ))" &amp; vbCr</p><p>openMacro = Chr(3) &amp; Chr(3) &amp; "InsertRM6" &amp; Chr(13)</p><p>Set NewMenuItem = NewMenu.AddMenuItem(NewMenu.Count + 1, "RM6(&amp;R)", openMacro)</p><p>谢谢ALIN的指导.</p><p>我在VBA中插入了AUTOLISP的语句.可以实现功能,</p><p>但运行时有个提示:</p><p>命令: InsertRM6<br/>_.-VBARUN<br/>宏名称(M): C:/Program Files/RM6/RM6-Project.dvb!ThisDrawing.RM6Select <br/>执行错误</p><p>这该如何解决?谢谢</p>

fantasyfly 发表于 2007-9-27 10:40:00

<p>PS:虽然有这个执行错误,但对运行结果没有影响.</p>

zzhua 发表于 2007-9-28 23:21:00

<p>在菜单文件中加入如下语名:</p><p>ID_A1&nbsp;&nbsp;&nbsp; [菜单名称]^C^C(command "vbaunload" "******");(command "vbaload" "******");(command "-vbarun" "######");</p><p>注解:******表示所注册的命令名,######表示VBA工程名.</p>

fantasyfly 发表于 2007-9-29 09:30:00

<p>但运行时有个提示:</p><p>命令: InsertRM6<br/>_.-VBARUN<br/>宏名称(M): C:/Program Files/RM6/RM6-Project.dvb!ThisDrawing.RM6Select <br/>执行错误</p><p>这该如何解决?谢谢</p>
页: [1] 2
查看完整版本: 在菜单中好何运行VBA程序?