cad vba 无法调用Excel 5
我想用cad调用excel中的数据,自己编了一个宏,运行时提示“对象不支持该属性和方法”,哪位大神能帮忙看看这是为什么?代码如下:(ps:在引用处已勾选Microsoft...
我想用cad调用excel中的数据,自己编了一个宏,运行时提示“对象不支持该属性和方法”,哪位大神能帮忙看看这是为什么?代码如下:(ps:在引用处已勾选Microsoft Excel 11.0 Object Library)
Sub NameColumn()
Dim xlapp As Excel.Application
Dim xlbook As Excel.workbook
Dim xlsheet As Excel.worksheet
Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.workbooks.Open("D:\My Documents\My Documents\test2.xls")
xlapp.Visible = False
Set xlsheet = xlbook.worksheets("2")
Dim i
Dim ptr(8), ptl(6) As Double
For i = 4 To 10000
If xlbook.Cells(i, 1) = "" Then Exit For
ptr(0) = xlbook.Cells(i, 5) + 250
ptr(1) = xlbook.Cells(i, 6) + 250
ptr(2) = xlbook.Cells(i, 5) + 250
ptr(3) = xlbook.Cells(i, 6) - 250
ptr(4) = xlbook.Cells(i, 5) - 250
ptr(5) = xlbook.Cells(i, 6) - 250
ptr(6) = xlbook.Cells(i, 5) - 250
ptr(7) = xlbook.Cells(i, 6) + 250
ptl(0) = xlbook.Cells(i, 5) + 250
ptl(1) = xlbook.Cells(i, 6) + 250
ptl(2) = xlbook.Cells(i, 5) + 450
ptl(3) = xlbook.Cells(i, 6) + 450
ptl(4) = xlbook.Cells(i, 5) + 650
ptl(5) = xlbook.Cells(i, 6) + 450
ThisDrawing.ModelSpace.AddLightWeightPolyline (ptr)
ThisDrawing.ModelSpace.AddLightWeightPolyline (ptr)
Next
xlbook.Close
xlapp.Quit
Set xlapp = Nothing
End Sub 展开
Sub NameColumn()
Dim xlapp As Excel.Application
Dim xlbook As Excel.workbook
Dim xlsheet As Excel.worksheet
Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.workbooks.Open("D:\My Documents\My Documents\test2.xls")
xlapp.Visible = False
Set xlsheet = xlbook.worksheets("2")
Dim i
Dim ptr(8), ptl(6) As Double
For i = 4 To 10000
If xlbook.Cells(i, 1) = "" Then Exit For
ptr(0) = xlbook.Cells(i, 5) + 250
ptr(1) = xlbook.Cells(i, 6) + 250
ptr(2) = xlbook.Cells(i, 5) + 250
ptr(3) = xlbook.Cells(i, 6) - 250
ptr(4) = xlbook.Cells(i, 5) - 250
ptr(5) = xlbook.Cells(i, 6) - 250
ptr(6) = xlbook.Cells(i, 5) - 250
ptr(7) = xlbook.Cells(i, 6) + 250
ptl(0) = xlbook.Cells(i, 5) + 250
ptl(1) = xlbook.Cells(i, 6) + 250
ptl(2) = xlbook.Cells(i, 5) + 450
ptl(3) = xlbook.Cells(i, 6) + 450
ptl(4) = xlbook.Cells(i, 5) + 650
ptl(5) = xlbook.Cells(i, 6) + 450
ThisDrawing.ModelSpace.AddLightWeightPolyline (ptr)
ThisDrawing.ModelSpace.AddLightWeightPolyline (ptr)
Next
xlbook.Close
xlapp.Quit
Set xlapp = Nothing
End Sub 展开
4个回答
展开全部
不知道我说的沾不沾边。
你查的那个资料还需要设置一个引用,我把word里的内容输出到excel没用引用,就不行。
要设置对 Microsoft Excel 对象库的引用,请执行下列步骤:
在 Access 中,按 ALT+F11 切换到 Visual Basic 编辑器。
在工具菜单上,单击引用。
在引用框中,单击 Microsoft Excel 9.0 Object Library 复选框,然后单击确定。
设置引用后,可以使用“对象浏览器”查看所有 Microsoft Excel 的对象、属性和方法,包括通过 Application 对象可用的函数。
你查的那个资料还需要设置一个引用,我把word里的内容输出到excel没用引用,就不行。
要设置对 Microsoft Excel 对象库的引用,请执行下列步骤:
在 Access 中,按 ALT+F11 切换到 Visual Basic 编辑器。
在工具菜单上,单击引用。
在引用框中,单击 Microsoft Excel 9.0 Object Library 复选框,然后单击确定。
设置引用后,可以使用“对象浏览器”查看所有 Microsoft Excel 的对象、属性和方法,包括通过 Application 对象可用的函数。
展开全部
楼主试试这个,把xlbook.Cells全部换成xlsheet.Cells
xlbook定义的是workbook,而cells是worksheet下的对象
xlbook定义的是workbook,而cells是worksheet下的对象
追问
您好,我把xlbook.Cells换成xlsheet.Cells试了一下,运行时错误提示变成了“无效的过程调用或参数”,是不是还有什么地方出错了呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cells是worksheet下的对象,我试着把你的代码xlbook.Cells换成xlsheet.Cells,是可以执行的。。。我也是在学习cadvba和excelvba,736069609,,可以交流哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试试这样写
Dim xlapp As Object
Dim xlbook As Object
Dim xlsheet As Object
Dim xlapp As Object
Dim xlbook As Object
Dim xlsheet As Object
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询