Taoyimaier 发表于 2003-4-18 19:50:00

用vba的selectonscreen时使用缩放、平移命令会中断vba的选择,痛苦

写一个代码如下的程序(大致意思如下),
public sub main()
   set objsets = thisdrawing.selectsets
   set objset = objsets.add("kkk")
   objset.selectonscreen
msgbox objset.count
objset.clear
objset.delete
end sub
当我想多选择些实体时,用了pan,zoom,结果在命令行出现了*取消*
版主,我知道您是一个好人,也许您不是第一次回答这个问题,但...

myfreemind 发表于 2003-4-18 20:10:00

我把你的程序这样修改,你试运行一下,看看怎么样?

public sub main()
on error goto err
   set objsets = thisdrawing.selectsets
   set objset = objsets.add("kkk")
   objset.selectonscreen
msgbox objset.count
objset.clear
objset.delete
exit sub
err:
resume
end sub

taoyimaier 发表于 2003-4-18 21:27:00

还不行

我发现在用selectonscreen时使用一些透明命令pan,zoom时不会产生错误来触发错误机制,如果按你的意思的话,那么程序用了pan之后将继续执行后面的语句,而不能再继续选择,程序也变得没有任何意义(只要用了别的命令,选择集的count属性都成了0),

myfreemind 发表于 2003-4-18 21:46:00

我下线帮你再调试一下,好了帖上来!

mccad 发表于 2003-4-18 22:41:00

在2002及以下版本这个问题是解决不了的,但如果你是2004版,就不会出现这些问题

Taoyimaier 发表于 2003-4-18 22:57:00

版主,你的话太打击我的积极性了,还有一个问题

版主,你的话太打击我的积极性了,上天为什么对我如此不公,刚改用vba就受到这个挫折,那我问问版主,如果你碰到了,怎么办啊,换语言?其实我得vlisp还好一些,但就是因为这个程序要有一些界面,难道非要学dcl,
还有一个问题,就是在用vba是,插入的textbox控件前总有几个字符的空位
这样看起来感觉不好,怎么解决的,
真的非常感谢我们的版主和我的同行myfreemind
thanks

mccad 发表于 2003-4-18 23:31:00

这应该是AutoCAD的BUG,而且由于没有可捕获的出错信息,故无法判断

由于它无法保持原来选定的对象,所以用什么方法都无法找回刚刚选定的对象。
解决方法可能要在选定对象前提示用户。
而对于文本框中的空白,因为它只是空白,而不是空格,也是没办法解决的(真对不起,你提的两个问题都不无法解决的)

myfreemind 发表于 2003-4-18 23:37:00

Taoyimaier,版主说的对,可能真的是版本的问题!

我晚上调试了一下,也确实怎么搞都没有办法,因为好象VBA对错误的判别比较简单,不同的键产生的错误代码居然一样,我弄的头都大了,呵呵~~~帮不到你真是不好意思~~

Taoyimaier 发表于 2003-4-18 23:55:00

如果真的头都大了,那真不好意思

好了,这个话题就道此为止吧,打算就按你的办法了,提示用户,非常感谢两位的讲解,真是感激的。。。以后有问题再向两位请教

myfreemind 发表于 2003-4-18 23:57:00

不用谢~~其实我很喜欢帮人,但就是自己太菜~~呵呵~~

页: [1]
查看完整版本: 用vba的selectonscreen时使用缩放、平移命令会中断vba的选择,痛苦