田草 于 2008-08-12 01:50 PM 发表评论: |
' 单行文字文字合并 ************************************************* Sub HBWZ_Text() Dim objSelected As Object Dim acText As AcadText Dim ssText As AcadSelectionSet Dim AllText As String Dim H As Double Dim W As Double Dim S As String Dim P As Variant On Error Resume Next Set ssText = ThisDrawing.SelectionSets.Add("Text") '定义过滤机制 Dim filterType(0) As Integer Dim filterData(0) As Variant filterType(0) = 0 filterData(0) = "TEXT" ssText.SelectOnScreen filterType, filterData Dim n As Integer Dim i As Integer Dim j As Integer Dim Temp As Double Dim X() As Double Dim Index() As Integer '对选择的插入点进行排序 ' 只对Y方向进行排序 ' 不对X方向进行排序 n = ssText.Count - 1 ReDim X(n) ReDim Index(n) ' 读取Y坐标到数组Y()中 ' 没有排序之前Text在选择集中的序号并没有变化,仍然是0、1、2、3…… For i = 0 To n Set acText = ssText.item(i) X(i) = acText.insertionPoint(0) Index(i) = i Next i ' 对数组X()排序 For i = 0 To n - 1 For j = i + 1 To n '如果前一个比后面小的话,则把它的序号和后面的交换。 If X(i) >= X(j) Then '交换X坐标 Temp = X(i) X(i) = X(j) X(j) = Temp '交换Text在选择集中的位置 Temp = Index(i) Index(i) = Index(j) Index(j) = Temp End If Next j Next i Set acText = ssText.item(Index(0)) H = acText.height W = acText.ScaleFactor S = acText.StyleName P = acText.insertionPoint '对选择集中的文字对象进行操作 For i = 0 To n Set acText = ssText.item(Index(i)) AllText = AllText & acText.textString acText.Delete Next Dim NText As AcadText Set NText = ThisDrawing.ModelSpace.AddText(AllText, P, H) NText.ScaleFactor = W NText.StyleName = S ThisDrawing.SelectionSets.item("Text").Delete NText.Update End Sub '******************************************************* |
|
查看所评论的日志:AutoCAD vba 合并文字 |
田草 于 2008-08-10 12:31 AM 发表评论: |
|
查看所评论的日志:北京奥运与江苏宿迁人无缘 |
田草 于 2008-08-09 09:32 PM 发表评论: |
这点很重要,技术dword值被改成了字符串,今天我又遇到了一次 |
|
查看所评论的日志:“显示所有文件和文件夹” 和 “不显示隐藏的文件和文件夹” |
田草 于 2008-08-08 09:43 AM 发表评论: |
这段代码,不要按照顺序去选择文字了,他自己会按照x坐标自动排序的 |
|
查看所评论的日志:AutoCAD vba 合并文字 |
dsfei 于 2008-08-08 08:54 AM 发表评论: |
dengye@cmdi.chinamobile.com
没有办法下载,很有兴趣,能不能发一份给我 |
|
查看所评论的日志:AutoCAD VBA 二次开发教程源码 |
dsfei 于 2008-08-08 08:52 AM 发表评论: |
下载链接都是转到你的主页啊,大哥能不能帮忙发一份到dengye@cmdi.chinamobile.com |
|
查看所评论的日志:晓东VBA论坛板块的电子书版本 |
田草 于 2008-08-05 03:53 PM 发表评论: |
该控件在没有安装AutoCAD2009的机器上无法注册dll。 |
|
查看所评论的日志:acCtrl控件使用 |
田草 于 2008-08-05 03:41 PM 发表评论: |
此控件出AutoCAD2009,安装2009才有,但是也可以在其他版本使用,假如卸载了2009,只把acCtrl控件留下能不能使用还不知道啊。 |
|
查看所评论的日志:acCtrl控件使用 |