找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1039|回复: 2

[VBA程序]:我的第一个应用vba程序制作过程

[复制链接]
发表于 2007-3-31 11:07:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
完全是自己捉摸出来的,用了一个晚上的时间

下面是过程

    昨晚加班。没干活。
     写了一行的VBA,准备实现一个功能,代替我大概十次左右的鼠标点击。程序只有一行,但是怎么让它比较方便的实现是个问题。不要为了实现这么简单的一个动作还是要我操作几下,那就没什么意思了,所以目的很明确,一步到位。做菜单比较麻烦,初步把方案定为工具栏。
大概过程就是找帮助,翻从前看过的电子书,google,再找了一本CAD的教程,砖头一样的。因为记得帮助里面有一条说可以开启AutoCAD时自动加载或运行VBA程序,因此先试这个。先编了一个acad.lsp文件。这里要插一句,中文版的翻译有点问题,让我走了不少弯路,后来看了英文版,才明白了是什么意思。acad.lsp运行AutoCAD,却发现并没有如我所愿的自动运行我的.dvb文件,于是把dvb复制到cad目录,还是不行。因为 acad.lsp的原理就是在cad启动的时候运行一次其中的代码,但是始终没有实现,这是个未解决的问题,留待观察。于是复制了acad.lsp,更名为acaddoc.lsp。当dvb文件位于其他目录时,加载失败;当位于cad目录,成功!OK,第一步已经做到了。
     第二步,对我来说难度比较大。因为编程序以前是看过一些的,而定义工具栏,经查那本砖头得知,是需要lisp语言的,或者成为菜单宏?概念我还不是很清楚。翻来翻去,终于在帮助中找到了办法,而且最终找到了第二种解决方案,即不用启动时自动加载dvb,也能直接运行cad目录下的dvb文件。
    至此全部功能实现了,只需要点两个按钮中的任意一个就可以达到我的目的了。明天再给工具栏做个图标吧。

     下一个目标:
     要做上面所说的这个东西,是因为qscr或者scr命令加载lsp或者scr文件绘图后,系统的捕捉设置被全部清空了,我所需要的就是一个可以一下子恢复我所有捕捉设置的程序,不用我自己一下一下的去点鼠标了。所以下一个目标就是整合qscr命令绘图,然后在绘图结束之后自动运行我那一行的VBA程序,从此结束qscr命令就不再带来任何副作用。尽管目前已经只是多了一步,但是省略了岂不是更好?

     遗留问题,为何acad.lsp在启动时不能自动加载?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-3-31 21:30:35 | 显示全部楼层
option“选项”里“系统”“基本选项”里“每个图形均加载acad.lsp”
有一个系统变量忘了。。
做一个lsp,放在APPLOAD里的启动组就行了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-4-7 18:15:09 | 显示全部楼层
一、系统变量ACADLSPASDOC 控制 AutoCAD 是将 acad.lsp 文件加载到所有图形中,还是仅加载到在 AutoCAD 任务中打开的第一个文件中。
<br>
系统变量详解参见:
http://zml84.blog.sohu.com/14144863.html
<br>
二、不建议去制作另外的程序去进行诸如对象捕捉之类的变量恢复工作。
正确的做法是在一个程序的功能模块内部将自身所改变的设置进行恢复,也就是说自己的垃圾自己清扫。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-28 13:26 , Processed in 0.229546 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表