首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb 输出acd中报表

2013-07-11 
vb 输出acd中表格用vb打开autocad图,想获取图中表格数据,如下:For Each blkElem In ThisDrawing.ModelSpac

vb 输出acd中表格
用vb打开autocad图,想获取图中表格数据,如下:
For Each blkElem In ThisDrawing.ModelSpace 报错,要求对象
请各位帮忙,TKS

Private Sub Command1_Click()

Dim ExcelSheet As Object
Dim ExcelWorkbook As Object
Dim Count As Integer
Dim blkElem As Variant


Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象

Set ExcelWorkbook = ExcelApp.Workbooks.Add '创建一个新工作簿

Set ExcelSheet = ExcelApp.ActiveSheet ' 确保Sheet1工作表为当前工作表

ExcelWorkbook.SaveAs "E:\属性表.xls" ' 将新创建的工作簿保存为Excel文件

For Each blkElem In ThisDrawing.ModelSpace ' 遍历模型空间 , 查找表的每个块引用表行

With blkElem

If StrComp(.EntityName, "AcDbBlockReference", 1) = 0 Then ' 当一个块引用表行被找到后, 检查它是否有属性

   If .HasAttributes Then  ' 如果有属性

       Array1 = .GetAttributes ' 提取块引用中的属性, 如果有填在第1行

       RowNum = RowNum + 1 ' 从第2行开始, 填写其它的表行内容

       For Count = LBound(Array1) To UBound(Array1)

           ExcelSheet.Cells(RowNum, Count + 1).Value = Array1(Count).TextString

       Next Count
   End If

End If

End With

Next blkElem

Excel.Visible = True '显示Excel工作表中的结果

End Sub
VB 对象
[解决办法]
那你的先去研究一下autocad的对象模型
[解决办法]
检查 ThisDrawing 和 ModelSpace 是否为 Nothing。
可能你打开的图纸没有作为当前图纸。

热点排行