本帖最后由 风言无际 于 2019-7-28 14:40 编辑
下面给你一个简单的例子,读取EXCEL表格中的数据,绘制一条直线,
打开EXCEL,在A1至C2单元格分别添加100,100,0,300,400,0,如下所示
打开CAD,在命令行中输入VBAIDE,打开VBA编辑器,点击菜单栏 工具 - 引用,勾选Microsoft Excel xx.x Object Library,(xx.x跟你安装的EXCEL的版本有关),然后双击左侧的ThisDrawing,如下图
将以下代码贴入右侧空白处,
- Sub test()
- Dim xlApp As Excel.Application 'EXCEL对象
- Dim xlBook As Excel.Workbook 'EXCEL工作簿
- Dim xlSheet As Excel.Worksheet 'EXCEL工作表
- Set xlApp = GetObject(, "EXCEL.APPLICATION") '获取当前打开的EXCEL软件
- Set xlBook = xlApp.Workbooks(1) '获取第一个工作簿
- Set xlSheet = xlBook.Sheets(1) '获取第一个工作表
- Dim BL(0 To 2) As Double '左下角坐标数组
- Dim UR(0 To 2) As Double '右上角坐标数组
- BL(0) = xlSheet.Cells(1, 1).Value: BL(1) = xlSheet.Cells(1, 2).Value: BL(2) = xlSheet.Cells(1, 3).Value '读取第一行的三个数据到数组BL
- UR(0) = xlSheet.Cells(2, 1).Value: UR(1) = xlSheet.Cells(2, 2).Value: UR(2) = xlSheet.Cells(2, 3).Value '读取第二行的三个数据到数组UR
- ThisDrawing.ModelSpace.AddLine BL, UR '在CAD中绘制直线,左下角坐标为BL,右上角坐标为UR
- ThisDrawing.Application.ZoomExtents '按图形范围缩放窗口
- ThisDrawing.Application.Update '更新对象
- End Sub
按F5运行,查看CAD窗口,可以看到画了一条线,左下角坐标为100,100,右上角坐标为300,400。
反过来,你也可以在EXCEL的VBA编辑器中引用CAD类型库,可以试一下。无非就是引用CAD类型库,然后定义一个CAD应用程序对象AcadApplication,一个CAD文档对象AcadDocument。
或者你可以在VB6.0软件中同时引用CAD类型库和EXCEL类型库,对二者进行操作,这样可以生成独立的EXE程序,便于传播。
|