明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1243|回复: 4

[求助]vba怎么不按语句顺序执行?

[复制链接]
发表于 2004-11-15 17:31:00 | 显示全部楼层 |阅读模式
以下程序直接执行不可以,但如果在vbarun对话框选逐语句就可以运行. 开始时我想在对话框按下一个按纽,然后在图上选一个点,插入一个块,就用了sample的程序试了一下,结果对话框是焦点的情况下不能用utility的getpoint,只能在form1.hide之后才能utility.getpoint.后来发现,ThisDrawing.SendCommand 以后对话框还在,但不是焦点,可以用utility.getpoint,所以我想在getpoint前用一个空的指令,让对话框仍然显示在屏幕上,但不是焦点. Private Sub CommandButton2_Click()

Dim returnPnt As Variant


ThisDrawing.SendCommand ("_open")

returnPnt = ThisDrawing.Utility.GetPoint(, "Enter a point: ")


MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2) & vbCrLf & _
"(Enter the next value without prompting.)", , "GetPoint Example"


returnPnt = ThisDrawing.Utility.GetPoint
MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetPoint Example"


Dim basePnt(0 To 2) As Double
basePnt(0) = 2#: basePnt(1) = 2#: basePnt(2) = 0#
returnPnt = ThisDrawing.Utility.GetPoint(basePnt, "Enter a point: ")
MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2)


Dim lineObj As AcadLine
Set lineObj = ThisDrawing.ModelSpace.AddLine(basePnt, returnPnt)
ZoomAll
UserForm1.Show

End Sub

本帖子中包含更多资源

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

x
发表于 2004-11-15 19:03:00 | 显示全部楼层
哈哈,我也碰到过这个问题,也是插入块,一步步执行没问题,连续执行就出问题。没办法解决,后全部改为sendcommand.
发表于 2004-11-15 20:40:00 | 显示全部楼层
ThisDrawing.SendCommand ("_open")
? 什么意思
 楼主| 发表于 2004-11-16 08:51:00 | 显示全部楼层
ThisDrawing.SendCommand ("_open")
主要是为了让焦点回到autocad,可以传入一个空的指令. 不过我发现sendcommand好象一般到最后才执行,不知道为什么?
发表于 2004-11-16 09:33:00 | 显示全部楼层
让焦点回到autocad,用AppActivate Application.Caption
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 23:46 , Processed in 0.151080 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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