hefeilac 发表于 2017-10-12 11:17:06

求助代码优化,提取CAD表格内容到Excel中

CAD表格和Excel文件见附件,其中代码在Excel里面
现代码是按照选择集默认排序,输出时与CAD表格顺序不同
求助:
   用坐标排序法,保持输出到Excel时与CAD表格相同
Sub dldr()
Dim acadApp As Object, str, str2, arr
On Error Resume Next
Dim ThisDrawing As Object
Set acadApp = GetObject(, "AutoCAD.Application")'打开CAD软件
If Err = 0 Then'如果已经打开CAD软件
AppActivate acadApp.Caption   '切换到CAD界面
    Set ThisDrawing = acadApp.ActiveDocument
    Set ssetObj2 = ThisDrawing.SelectionSets.Add("mxb2") '创建一个名为"mxb2"的选择集以放置图元
   ssetObj2.SelectOnScreen '屏幕上选择材料表的内容
   Count = ssetObj2.Count
    Set Rng = Application.InputBox("请指定需要放入规格的单元格", "目标单元格", , , , , , 8)
    j = Rng.Row: k = Rng.Column
      For i = Count - 1 To 0 Step -1
      SR = ssetObj2(i).textstring
            Cells(j, k) = SR
            j = j + 1
      Next i
   ThisDrawing.SelectionSets.Item("mxb2").Delete
End If
End Sub

mikewolf2k 发表于 2017-10-12 15:03:50

ACAD元素顺序与空间位置无关,你得自己按顺序排序后才能输出。

hefeilac 发表于 2017-10-12 15:16:45

mikewolf2k 发表于 2017-10-12 15:03
ACAD元素顺序与空间位置无关,你得自己按顺序排序后才能输出。

能不能帮忙写一下代码?感谢

zzyong00 发表于 2017-10-12 17:34:23

看看这个:http://bbs.mjtd.com/thread-111364-1-1.html

mikewolf2k 发表于 2017-10-13 09:00:20

hefeilac 发表于 2017-10-12 15:16
能不能帮忙写一下代码?感谢

自己先写,有问题再问。这个功能的关键部分就是排序。
页: [1]
查看完整版本: 求助代码优化,提取CAD表格内容到Excel中