多行文本如何转换为单行文本
单行转换为多行很容易实现,但多行文本如何转换为单行文本,本来想通过爆炸实现,结果发现VBA不支持,怎么办?谢谢! sendcommand 先得到多行方字的内容,然后重写 yuangw1234发表于2006-9-2 18:40:00static/image/common/back.gif先得到多行方字的内容,然后重写如何获得,能不能详细说明一下,楼上的兄弟<BR> <DIV>引自 <A href="http://xsfhlzh.139.com/" target="_blank" ><FONT color=#000000>http://xsfhlzh.139.com</FONT></A> ,可参考</DIV>
<DIV>Private Function MToS(mtext As Variant) As Variant<BR>'炸开MText并返回一个Text数组<BR> Dim i As Integer<BR> Dim ss As AcadSelectionSet<BR> Dim pTexts As New Collection<BR> ThisDrawing.ActiveSelectionSet.Clear<BR> ThisDrawing.SendCommand "Explode" & vbCr & "(handent " & Chr(34) _<BR> & mtext.Handle & Chr(34) & ")" & vbCr & vbCr<BR> Set ss = ThisDrawing.ActiveSelectionSet<BR> For i = 0 To ss.Count - 1<BR> If UCase(ss(i).ObjectName) = "ACDBTEXT" Then pTexts.Add ss(i)<BR> Next i<BR> MToS = pTexts<BR>End Function<BR><BR></DIV> 如果不爆炸,那位兄弟有好办法 先获得多行文本的属性,然后再写成单行文字(同时删除多行文本),就可以了 <P>获得的方法为textstring属性,如dim tx as acadmtext,则可以用tx.textstring获得内容</P> yuangw1234发表于2006-9-4 12:06:00static/image/common/back.gif
获得的方法为textstring属性,如dim tx as acadmtext,则可以用tx.textstring获得内容
<BR>这样是不行的,英文的当然可以了,只要有汉字就行不通了,里面就多出很多东西(当然是文本的一些格式信息),不信你可试试看
页:
[1]