明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2230|回复: 6

如何将一幅图中所有的MText对象中的字符TextString中内容放在一个字符变量里?谢谢

[复制链接]
发表于 2003-12-31 10:48:00 | 显示全部楼层 |阅读模式
如何将一幅图中所有的MText对象中的字符TextString中内容放在一个字符变量里?谢谢![br]如何将一幅图中所有的MText对象中的字符TextString中内容放在一个字符变量里
发表于 2003-12-31 11:33:00 | 显示全部楼层
先要得到一个mtext中的字符用一个变量例如str1表示, 把它赋给另一个变量例如str2,
str2=str2+str1
依次得到各个str1,运行str2=str2+str1 应该可以吧
 楼主| 发表于 2003-12-31 15:58:00 | 显示全部楼层
对不起啊,我这两天刚开始研究这个,我不知道如何引用mtext对象,用ThisDrawing.ModelSpace.AcadMText.TextString吧又不行,也就是说关
键怎么引用它,让.TextString赋值给一个变量,这跟office的VBA中的对象
引用有有点不同,这是怎么回事呢。str2=str2+str1这一步我也知道了,但
str1怎么得到,求高手指点?
发表于 2003-12-31 16:54:00 | 显示全部楼层
给个简单的例子你看看吧
  1. Sub k()
  2. Dim mtext As AcadMText
  3. Dim entry As AcadEntity
  4. Dim str1 As String
  5. Dim str2 As String

  6. Dim pickp As Variant

  7. 'On Error GoTo endp

  8. ThisDrawing.Utility.GetEntity entry, pickp, "select a mtext:"

  9. If entry.ObjectName = "AcDbMText" Then
  10. Set mtext = entry
  11. str1 = mtext.TextString
  12. MsgBox str1

  13. str3 = "mjtd.com"

  14. mtext.TextString = str3
  15. End If
 楼主| 发表于 2004-1-1 13:20:00 | 显示全部楼层
谢谢了。我知道怎么弄了。原来是需要用AcadEntity这个对象来中转一下。
发表于 2004-1-1 23:38:00 | 显示全部楼层
redfox发表于2004-1-1 13:20:00谢谢了。我知道怎么弄了。原来是需要用AcadEntity这个对象来中转一下。



GetEntity并不是单只返回多行文字对象,因而还需要进行对象类型的判断。如果自己能肯定,那么就不需要此步操作,而可以直接这样写:
ThisDrawing.ModelSpace(0).TextString,entry.TextString。
 楼主| 发表于 2004-1-5 15:57:00 | 显示全部楼层
感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 10:39 , Processed in 0.191130 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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