saner2085 发表于 2005-11-25 16:01:00

vba编写的程序自动加载问题

<P><FONT color=#800000>我已经编写了一个VBA写的程序名位txt-dwg.dvb,又写了一个自动加载txt-dwg.dvb的lisp程序,如下:<BR>(defun c:a() ; <BR>&nbsp;&nbsp;(setvar "cmdecho" 0) <BR>&nbsp;&nbsp;(command "-VBARUN" "txt-dwg.dvb!模块名.过程名") <BR>&nbsp;&nbsp;(setvar "cmdecho" 1) <BR>&nbsp;&nbsp;(princ) <BR>) </FONT><BR><FONT color=#800000>我现在不知道以上程序中的 " 模块名.过程名" 部分应该怎么写,不管我写什么,执行a.lsp的时候都是"未找到宏。"<BR>模块名是txt-dwg.dvb中的模块名吗?那过程名又指什么?<BR>就差这一步,程序就能交工了,高手帮帮忙,给看看</FONT></P>

dfgs 发表于 2005-11-26 20:48:00

我的做法是用工具条来启动DVB程序,这样做的好处是:启动CAD时不必加载程序,加快了程序速度,在需要运行VBA时点击工具按钮即可,程序会自动加载并执行。具体的命令你可以看一下手工加载程序后,“宏”窗口里可以执行的过程名,原原本本的添加进去就可以了。

mikewolf2k 发表于 2005-11-27 09:04:00

<P>模块名就是dvb中模块的名,过程名是该模块下sub的名称。还有你的dvb要放在acad支持的路径中。</P>
<P>我也是将调用dvb的命令写在一个lisp中,然后将此lisp放在acad启动组或acad.lsp中,这样不用的时候不会加载dvb,用时只有第一次加载dvb比较慢,以后就跟acad命令一样了。</P>

chef 发表于 2005-11-27 21:41:00

<P>我试验过,不用 lisp 文件也能加载dvb,把文件放在 搜索目录下面,用菜单命令 <FONT color=#800000>(command "-VBARUN" "**dvb!模块名.过程名")&nbsp; 好像也能运行</FONT></P>
页: [1]
查看完整版本: vba编写的程序自动加载问题