- UID
- 76071
- 积分
- 1505
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-8-30
- 最后登录
- 1970-1-1
|
发表于 2004-7-5 20:19:37
|
显示全部楼层
由于你没有提供块名,所以程序要求手动输入
先打开Excel再运行
Sub Test()
On Error Resume Next
Dim ss As AcadSelectionSet
Dim ft(1) As Integer, fd(1)
Dim i As AcadBlockReference
Dim objExcel As Object
Dim pSheet As Object
Dim pRange As Object
Dim pNum As Integer
Set objExcel = GetObject(, "Excel.Application")
If Err Then MsgBox "请先打开Excel!": Exit Sub
Set pSheet = objExcel.ActiveSheet
ft(0) = 0: fd(0) = "Insert"
ft(1) = 2: fd(1) = ThisDrawing.Utility.GetString(True, vbCr & "请输入块名:")
ThisDrawing.SelectionSets("*TlsTest*").Delete
Set ss = ThisDrawing.SelectionSets.Add("*TlsTest*")
ss.Select acSelectionSetAll, , , ft, fd
Set pRange = pSheet.Range("A1"): pRange.Value = "设备名称"
Set pRange = pSheet.Range("B1"): pRange.Value = "规格型号"
Set pRange = pSheet.Range("C1"): pRange.Value = "使用位置"
Set pRange = pSheet.Range("D1"): pRange.Value = "备注"
pNum = 2
For Each i In ss
a = i.GetAttributes
Set pRange = pSheet.Range("A" & pNum): pRange.Value = a(0).TextString
Set pRange = pSheet.Range("B" & pNum): pRange.Value = a(1).TextString
Set pRange = pSheet.Range("C" & pNum): pRange.Value = a(2).TextString
Set pRange = pSheet.Range("D" & pNum): pRange.Value = a(3).TextString
pNum = pNum + 1
Next i
End Sub |
|