明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1569|回复: 1

请问如果区分?

[复制链接]
发表于 2003-6-9 14:20:00 | 显示全部楼层 |阅读模式
上次版主给我的建议,但我还是有点搞不出来,那个平移和右键的贴子也看了,我用不上

On Error Resume Next
abc_text = ""
Do While InStr(abc_text, "*取消*") = 0
    ThisDrawing.Utility.GetEntity adTextobj, 0, "请选择原文字:"
    abc_text = ThisDrawing.GetVariable("lastprompt")
'下面这句不行,不管我选择了文字没有,都会执行 if...then 里面的语句
要是有一个语句来判断adtextobj是否包函对像就OK了,但我不知道用什么语句
    If adTextobj.ObjectName = "AcDbText" Or adTextobj.ObjectName = "AcDbMText" Then
        abc_text = "*取消*"
    End If
   
Loop
发表于 2003-6-9 20:03:00 | 显示全部楼层

这样写吧

  1. Sub SelectText()
  2. On Error Resume Next
  3. Dim adTextobj As AcadEntity
  4. Do
  5.     ThisDrawing.Utility.GetEntity adTextobj, 0, "请选择原文字:"
  6.     If Err Then
  7.         Debug.Print ThisDrawing.GetVariable("lastprompt")
  8.         If InStr(ThisDrawing.GetVariable("lastprompt"), "*取消*") <> 0 Then
  9.             Exit Sub
  10.          End If
  11.     Else
  12.         If adTextobj.ObjectName = "AcDbText" Or _
  13.             adTextobj.ObjectName = "AcDbMText" Then
  14.             Exit Do
  15.         End If
  16.     End If
  17.     Loop
  18. End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 16:26 , Processed in 0.162581 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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