明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1875|回复: 2

[VBA]获取用户输入的问题?

[复制链接]
发表于 2005-9-6 23:26:00 | 显示全部楼层 |阅读模式
怎样实现如下功能:

提示用户:“选择对象或[设置(S)]:”后,
用户在屏幕上选择对象,或者输入“S”进入设置窗口

我使用 GetEntity方法好像实现不了,
GetEntity方法选择对象时如果输入字符则提示错误并让继续选择!
而InitializeUserInput方法好像不支持GetEntity
发表于 2005-9-7 06:51:00 | 显示全部楼层
可以支持啊:
  1. Sub Mccad_InitializeUserInput()
  2.     ' 该示例提示用户选择对象,并通过
  3.     ' InitializeUserInput 方法定义关键字列表,
  4.     ' 用户要以用它来输入关键字。
  5.    
  6.     On Error Resume Next
  7.    
  8.     ' 定义有效的关键字
  9.     Dim keywordList As String
  10.     keywordList = "S E"
  11.    
  12.     ' 调用 InitializeUserInput 初始化关键字
  13.     ThisDrawing.Utility.InitializeUserInput 0, keywordList
  14.    
  15.     ' 获得用户输入
  16.     Dim Pnt As Variant
  17.     Dim ent As AcadEntity
  18.      ThisDrawing.Utility.GetEntity ent, Pnt, "选择对象[设置(S)/删除(E)]: "
  19.     If Err Then
  20.          If StrComp(Err.Number, -2145320928, 1) = 0 Then
  21.          ' 当输入关键字时
  22.              Dim inputString As String
  23.              Err.Clear
  24.              inputString = ThisDrawing.Utility.GetInput
  25.              MsgBox "输入的关键字是: " & inputString
  26.          Else
  27.              MsgBox "选择对象出错: " & Err.Description
  28.              Err.Clear
  29.          End If
  30.     Else
  31.         ' 显示用户选定的对象类型
  32.         MsgBox "你选定的对象类型为: " & ent.ObjectName, , "明经VBA示例:GetEntity及InitializeUserInput方法"
  33.     End If
  34. End Sub
 楼主| 发表于 2005-9-7 17:22:00 | 显示全部楼层
搞定了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 10:34 , Processed in 0.145696 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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