1.2 读取EXCEL工作表中的数据读取EXCEL工作表中数据,首先要打开工作簿。下面的代码调用EXCEL应用程序对象的Workbooks集合的Open方法以只读方式打开文件名为“book1.xls”的EXCEL文档。 ExcelApp.Workbooks.Open "d:\book1.xls", , True 下面的代码获取工作簿中的名称为“sheet1”的工作表: Set WkSheet = ExcelApp.ActiveWorkbook.Worksheets("sheet1") EXCEL的单元格位置由行和列唯一指定。通常EXCEL文档第1 行是表头说明,我们从第2行开始读数据(行号为1)。根据上述的数据组织模式,第1列是对象类型标志,程序首先读取它的值,确定后面列的数据类型,读取一个对象(表格中一行)数据后,进行相应的绘图操作。下面的的代码将第i行第2列的内容取出赋给变量mCode。 mCode = WkSheet..Range("B" & i) 取出EXCEL表格中的数据后,可以在ACAD模型空间中绘制出相应的图形实体。下面的代码在模型空间中绘制线或面对象: Set LWPl = ThisDrawing.ModelSpace.AddLightWeightPolyline(Pts) 若是面对象还要用下面的语句使它闭合: LWPl.Closed = True 程序中,循环判断第1列的对象类型标志,直到读出并绘制了所有对象。 1.3 写数据到EXCEL工作表中要写数据到EXCEL工作表,首先须添加EXCEL工作簿: Dim ExcelWkbk As Excel.Workbook Set ExcelWkbk = ExcelApp.Workbooks.Add EXCEL会自动建立名称为“sheet1”工作表,可以直接写数据到该工作表中。 Set WkSheet = ExcelWkbk.Worksheets("sheet1") 接着,程序遍历AutoCAD模型空间中的图形对象,并提取对象中的数据。之后,将数据填充到EXCEL单元格中。下面的代码将对象的位置信息数据填充到工作表第i行第7列的单元格中: WkSheet.Range("G" & i) = PosData 图形对象的数据填充到工作表中后,要用下面的语句保存成EXCEL文档文件: ExcelApp.ActiveWorkbook.SaveAs "d:\book1.xls" |