macula 发表于 2005-9-6 23:26:00

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

<FONT face=宋体 size=2>怎样实现如下功能:<BR><BR>提示用户:“选择对象或[设置(S)]:”后,<BR>用户在屏幕上选择对象,或者输入“S”进入设置窗口<BR><BR>我使用 GetEntity方法好像实现不了,<BR>GetEntity方法选择对象时如果输入字符则提示错误并让继续选择!<BR>而InitializeUserInput方法好像不支持GetEntity</FONT>

mccad 发表于 2005-9-7 06:51:00

可以支持啊:Sub Mccad_InitializeUserInput()
    ' 该示例提示用户选择对象,并通过
    ' InitializeUserInput 方法定义关键字列表,
    ' 用户要以用它来输入关键字。
   
    On Error Resume Next
   
    ' 定义有效的关键字
    Dim keywordList As String
    keywordList = "S E"
   
    ' 调用 InitializeUserInput 初始化关键字
    ThisDrawing.Utility.InitializeUserInput 0, keywordList
   
    ' 获得用户输入
    Dim Pnt As Variant
    Dim ent As AcadEntity
   ThisDrawing.Utility.GetEntity ent, Pnt, "选择对象[设置(S)/删除(E)]: "
    If Err Then
         If StrComp(Err.Number, -2145320928, 1) = 0 Then
         ' 当输入关键字时
             Dim inputString As String
             Err.Clear
             inputString = ThisDrawing.Utility.GetInput
             MsgBox "输入的关键字是: " & inputString
         Else
             MsgBox "选择对象出错: " & Err.Description
             Err.Clear
         End If
    Else
      ' 显示用户选定的对象类型
      MsgBox "你选定的对象类型为: " & ent.ObjectName, , "明经VBA示例:GetEntity及InitializeUserInput方法"
    End If
End Sub

macula 发表于 2005-9-7 17:22:00

搞定了,谢谢!
页: [1]
查看完整版本: [VBA]获取用户输入的问题?