jsxygshh 发表于 2014-2-8 07:52:00

用数组的形式统计直线长度到EXCEL一个单元格中

请各位帮忙解决,下面的VBA代码如何修改,才可以让选择的直线或多线长度统计到EXCEL的一个单元格内,各长度进行累加,显示长度计算式,先谢谢
Public Sub getlength() '统计长度
Set acadApp = GetObject(, ".Application")
Set Xlapp = GetObject(, "Excel.Application")
    Dim entry As AcadEntity, hjx As Variant, FType(0) As Integer, FData(0) As Variant, sjx As AcadSelectionSet, i As Long
    FType(0) = 0
    FData(0) = "Length"
    On Error Resume Next
    ThisDrawing.SelectionSets.Item("sf").Delete
    Set sjx = acadApp.ActiveDocument.SelectionSets.Add("sf")
    sjx.SelectOnScreen
    h = sjx.Count
    sjx.Select acSelectionSetAll, , , FType, FData
    With Xlapp
      k = .ActiveCell.row
      j = .ActiveCell.Column
      For Each entry In sjx
            hjx = entry.Length
            .cells(k, j) = Format(hjx / 1000, "##0.00")
            k = k + 1
            .cells(k, j).Activate
      Next entry
    End With
    sjx.Delete
End Sub

vbcad 发表于 2014-2-8 21:20:00

复制代码从上面可以看出,取得一个图形元素的长度,单元格就会递增(累加)一行。
如果只想写入一个单元格内,则按下面的代码复制代码

jsxygshh 发表于 2014-2-10 20:20:00

谢谢vbcad的帮助,调试成功了,十分感谢!
页: [1]
查看完整版本: 用数组的形式统计直线长度到EXCEL一个单元格中