redfox 发表于 2003-12-31 10:48:00

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

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

bluemoon 发表于 2003-12-31 11:33:00

先要得到一个mtext中的字符用一个变量例如str1表示, 把它赋给另一个变量例如str2,
str2=str2+str1
依次得到各个str1,运行str2=str2+str1 应该可以吧

redfox 发表于 2003-12-31 15:58:00

对不起啊,我这两天刚开始研究这个,我不知道如何引用mtext对象,用ThisDrawing.ModelSpace.AcadMText.TextString吧又不行,也就是说关
键怎么引用它,让.TextString赋值给一个变量,这跟office的VBA中的对象
引用有有点不同,这是怎么回事呢。str2=str2+str1这一步我也知道了,但
str1怎么得到,求高手指点?

topirol 发表于 2003-12-31 16:54:00

给个简单的例子你看看吧
Sub k()
Dim mtext As AcadMText
Dim entry As AcadEntity
Dim str1 As String
Dim str2 As String

Dim pickp As Variant

'On Error GoTo endp

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

If entry.ObjectName = "AcDbMText" Then
Set mtext = entry
str1 = mtext.TextString
MsgBox str1

str3 = "mjtd.com"

mtext.TextString = str3
End If

redfox 发表于 2004-1-1 13:20:00

谢谢了。我知道怎么弄了。原来是需要用AcadEntity这个对象来中转一下。

efan2000 发表于 2004-1-1 23:38:00

redfox发表于2004-1-1 13:20:00static/image/common/back.gif谢谢了。我知道怎么弄了。原来是需要用AcadEntity这个对象来中转一下。



GetEntity并不是单只返回多行文字对象,因而还需要进行对象类型的判断。如果自己能肯定,那么就不需要此步操作,而可以直接这样写:
ThisDrawing.ModelSpace(0).TextString,entry.TextString。

redfox 发表于 2004-1-5 15:57:00

感谢!
页: [1]
查看完整版本: 如何将一幅图中所有的MText对象中的字符TextString中内容放在一个字符变量里?谢谢