找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 622|回复: 2

[VBA程序]:請問 VBA 中的 getpoint

[复制链接]
发表于 2003-9-9 16:01:33 | 显示全部楼层 |阅读模式

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

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

×
用 getpoint 去取得座標時
如果使用者 在command line 輸入錯誤
例如:輸入 2.000.2 , 2220.32.11
            或是不小心直接按到空白鍵
        
會導致 vba 發生錯誤
請問要如何預防
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-9-9 19:13:07 | 显示全部楼层
不允许输入为空,可以使用Utility对象的InitializeUserInput方法,设置Bits为1。
如:ThisDrawing.Utility.InitializeUserInput 1
而对于输入错误的预防,则只能通过错误捕捉来处理。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-10 22:25:23 | 显示全部楼层
以下转载自明经通道 [/COLOR]


控制用户输入

你可使用InitializeUserInput方法定义关键字或约束输入到用户输入方法的类型。其使用和参数值与AutoLISP的initget函数大致相同。InitializeUserInput可用于以下方法:GetAngle、GetCorner、GetDistance、GetInteger、GetKeyword、GetOrientation、GetPoint和GetReal。InitializeUserInput不能用于GetString方法。当用户输入方法没有返回字符串值时,使用GetInput方法以返回字符串值(关键字或字母输入)。

InitializeUserInput方法接受两个参数,第一个参数为位编码整数值,它确定用户输入方法的输入选择。第二个参数为字符串,它定义了有效的关键字。

在AutoCAD命令行中从用户获取整数值或关键字

以下示例提示用户输入非零正整数或关键字:

  1. [FONT=courier new]
  2. Sub Ch3_UserInput()

  3. ' InitializeUserInput (6)的第一个参数约束输入非零正整数。
  4. ' 第二个参数为有效的关键字列表。
  5. ThisDrawing.Utility.InitializeUserInput 6, "Big Small Regular"
  6. ' 设定提示字符串
  7. Dim promptStr As String
  8. promptStr = vbCrLf & "输入大小或[大(B)/小(S)/正常(R)]<正常>):"
  9. ' 在GetInteger 提示下输入关键字将会出错;
  10. ' 在检查到有出错信息后还允许程序继续运行,
  11. ' 你必须设定出错处理以恢复该错误。
  12. On Error Resume Next

  13. ' 获取用户输入值
  14. Dim returnInteger As Integer
  15. returnInteger = ThisDrawing.Utility.GetInteger(promptStr)
  16. ' 检查错误。如果错误描述与以下提示匹配,
  17. ' 则使用GetInput以取得返回的字符串
  18. ' 否则,使用returnInteger值。
  19. If Err.Description = "User input is a keyword" Then

  20. Dim returnString As String
  21. returnString = ThisDrawing.Utility.GetInput()
  22. Err.Clear

  23. Else

  24. If returnInteger = 0 Then '如果用户按了回车

  25. returnString = "Regular" '设定默认值
  26. Else '否则,
  27. returnString = returnInteger '使用输入的值

  28. End If

  29. End If
  30. ' Display the result
  31. MsgBox returnString, , "InitializeUserInput 示例"

  32. End Sub
  33. [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 18:53 , Processed in 0.382270 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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