明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1812|回复: 8

多行文本如何转换为单行文本

[复制链接]
发表于 2006-8-30 16:19:00 | 显示全部楼层 |阅读模式
单行转换为多行很容易实现,但多行文本如何转换为单行文本,本来想通过爆炸实现,结果发现VBA不支持,怎么办?谢谢!
发表于 2006-9-2 18:05:00 | 显示全部楼层
sendcommand
发表于 2006-9-2 18:40:00 | 显示全部楼层
先得到多行方字的内容,然后重写
 楼主| 发表于 2006-9-3 13:44:00 | 显示全部楼层
yuangw1234发表于2006-9-2 18:40:00先得到多行方字的内容,然后重写
如何获得,能不能详细说明一下,楼上的兄弟
发表于 2006-9-3 16:26:00 | 显示全部楼层
引自 http://xsfhlzh.139.com ,可参考
Private Function MToS(mtext As Variant) As Variant
'炸开MText并返回一个Text数组
    Dim i As Integer
    Dim ss As AcadSelectionSet
    Dim pTexts As New Collection
    ThisDrawing.ActiveSelectionSet.Clear
    ThisDrawing.SendCommand "Explode" & vbCr & "(handent " & Chr(34) _
                            & mtext.Handle & Chr(34) & ")" & vbCr & vbCr
    Set ss = ThisDrawing.ActiveSelectionSet
    For i = 0 To ss.Count - 1
        If UCase(ss(i).ObjectName) = "ACDBTEXT" Then pTexts.Add ss(i)
    Next i
    MToS = pTexts
End Function

 楼主| 发表于 2006-9-4 08:27:00 | 显示全部楼层
如果不爆炸,那位兄弟有好办法
发表于 2006-9-4 09:25:00 | 显示全部楼层
先获得多行文本的属性,然后再写成单行文字(同时删除多行文本),就可以了
发表于 2006-9-4 12:06:00 | 显示全部楼层

获得的方法为textstring属性,如dim tx as acadmtext,则可以用tx.textstring获得内容

 楼主| 发表于 2006-9-4 17:17:00 | 显示全部楼层
yuangw1234发表于2006-9-4 12:06:00 获得的方法为textstring属性,如dim tx as acadmtext,则可以用tx.textstring获得内容

这样是不行的,英文的当然可以了,只要有汉字就行不通了,里面就多出很多东西(当然是文本的一些格式信息),不信你可试试看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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