szwbluesky 发表于 2005-3-18 19:35:00

可不可以在打开图时就执行工程?

  AutoCAD2002中用VBA开发了一个工程,已经嵌入到了dxt.dwg中。现在每次要运行程序,都要打开图,然后点击“工具->宏->宏”,出现对话框后再点运行。比较麻烦。


  可不可以在打开图的时候就执行图中嵌入的工作??


  多谢!

alin 发表于 2005-3-19 06:55:00


<P class=body>用户可以自动运行 <SPAN class=italic>acad.dvb 文件中的任何宏,方法是从 AutoCAD 启动功能(如 acad.lsp)中通过
<OBJECT id=alink_VBARUN_CMD_390852 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="0"><PARAM NAME="Height" VALUE="0"><PARAM NAME="Command" VALUE="ALink"><PARAM NAME="Item1" VALUE="acad_acr.chm"><PARAM NAME="Item2" VALUE="VBARUN_CMD"></OBJECT>VBARUN 的命令行版本调用。例如,要自动运行名为 drawline 的宏,请先将 drawline 宏保存在 acad.dvb 文件中。然后调用 notepad.exe 并在 acad.lsp 中创建(或附加)下面几行:

<PRE class=prog_in_0>(defun S::<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>STARTUP</FONT>()</PRE><PRE class=prog_in_0>   (command "_-vbarun" "drawline")</PRE><PRE class=prog_in_end_0>)</PRE>
<P class=body>将宏命名为 AcadStartup,这样在加载 VBA 时就会自动运行该宏。当加载 VBA 时,将自动执行 acad.dvb 文件中所有名为 AcadStartup 的宏.</SPAN>

szwbluesky 发表于 2005-3-19 12:24:00

  acad.dvb 文件是不是还要放在Support文件夹中? acad.lsp 也是在Support文件夹中吧?如果这样的话,别人要是拷贝我的文件用的话,是不是也要将acad.dvb 文件粘贴到Support文件夹中,是不是还得将

<PRE class=prog_in_0>(defun S::<FONT color=#ffffff style="BACKGROUND-COLOR: #316ac5">STARTUP</FONT>()</PRE><PRE class=prog_in_0>   (command "_-vbarun" "drawline")</PRE><PRE class=prog_in_end_0>)</PRE>
<BR>价码也加到acad.lsp 中?这样不是会给用的人带来些麻烦!可不可以就将工程放在图里,每次只拷一个图就可以,然后打开图以后就可以自动运行宏?或者将图和工程分开也行,也就是将工程也拷贝过去,然后打开图时就可以自动运行宏。而不用每换一台机器都要将将acad.dvb 文件粘贴到Support文件夹中,而且每次都要改acad.lsp 文件。

alin 发表于 2005-3-19 13:59:00

hfhappyfis 发表于 2005-3-20 01:30:00

楼上的利用event<br>
好办法<br>

clement 发表于 2005-3-21 11:53:00

alin发表于2005-3-19 13:59:00static/image/common/back.gif16869

<BR>能否提供一个用2002可以打开的版本?

alin 发表于 2005-3-21 14:46:00

clement 发表于 2005-3-21 17:53:00

谢谢

szwbluesky 发表于 2005-3-21 18:11:00

多谢版主了!

szwbluesky 发表于 2005-3-21 18:27:00

现在我又遇到了新问题!


每次打开底图都会在此图上生成新的图,而新图都是与数据相关的,不同的数据生成的图就不一样。如果我要把新图保存下来,为了不破坏底图,要选择“另存为”。而我另存了新图以后,再将其打开的时候,他还会运行嵌入的程序(这时不需要运行嵌入的程序,因为图的结果我已经有了,我只想看存下来的图),因为程序是嵌入图中的,也被存了下来。


现在不知道该怎么解决了!!!
页: [1] 2
查看完整版本: 可不可以在打开图时就执行工程?