- 积分
- 172
- 明经币
- 个
- 注册时间
- 2011-7-28
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2012-10-29 20:23:17
|
显示全部楼层
这个合不合你意
下面我用的,先选cad中的文字,执行宏,再用excel表a2往下的数据依次替换
Sub CAD_Exl()
Dim ExcelApp As Excel.Application '定义excle应用程序变量
Dim ExS 'As worksheet '定义工作表变量
On Error Resume Next
Set ExS = GetObject(, "Excel.Application")
If Err <> 0 Then
Set ExcelApp = CreateObject("Excel.Application") '激活excel程序
ExcelApp.Visible = True
ExcelApp.Workbooks.Add '创建新工作薄
'Excelapp.Workbooks(1).Activate '该语句激活WorkBooks集合中的第一个工作簿,使其成为当前工作簿 Workbooks("Mybook.xls").Activate
Set ExS = ExcelApp.ActiveWorkbook.Sheets(1)
End If
Dim sset As AcadSelectionSet '定义选择集对象
Dim eV As AcadEntity '定义选择集中的元素对象
Set sset = ThisDrawing.SelectionSets.Add("ss13") '新建一个选择集
Call sset.Select(acSelectionSetPrevious) '提示用户选择
'写入行位置
r = 2
C = 1
With ExS
For Each eV In sset '在选择集中进行循环
If eV.ObjectName = "AcDbText" Then
eV.TextString = ExS.Cells(r, C).Value & ".0" '写入excle文件
r = r + 1
End If
Next
End With
sset.Delete '删除选择集
'n = ThisDrawing.Utility.GetReal("输入文件名:")
'ExS.SaveAs "e:\" & c2 & ".xls" '保存,文件名是"1.xls"
'excelapp.Quit '退出excel程序
Set ExcelApp = Nothing '释放变量
Set ExS = Nothing
End Sub |
|