| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2211 人关注过本帖
标题:VB如何将EXCEL中指定的几行表格粘贴至CAD文件中指定的框框内?
只看楼主 加入收藏
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
收藏
得分:0 
回复 10楼 lianyicq
非常感谢~
13925919930@
2015-03-26 09:07
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 11楼 xingming022
已发

大开眼界
2015-03-26 09:15
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
收藏
得分:0 
回复 8楼 lianyicq
版主您好,您提供的提示:AApp.ActiveDocument.ModelSpace(i).EntityName = "AcDbOle2Frame"  还是选择不上EXCLE,也就是OLE啊,还有没有其他的思路了?烦请再多多指导~
2015-03-31 08:33
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 13楼 xingming022
程序代码:
Private Sub Form_Load()
Me.Show
'Set EXAPP = CreateObject("excel.application")
'Set WB = EXAPP.Workbooks.Open("c:\test.xlsx")
'Set sht = WB.Worksheets("Sheet1")
Set AApp = CreateObject("Autocad.Application")
Set ADWG = AApp.Documents.Open("c:\drawing1.dwg")
'Range("h7", "m9").Select
'Range("h7", "m9").Copy
For i = 0 To AApp.ActiveDocument.ModelSpace.Count - 1
  'If AApp.ActiveDocument.ModelSpace(i).Lineweight = 106 Then
  '   parameter = AApp.ActiveDocument.ModelSpace(i).Coordinates
  '   Exit For
  'End If
  If AApp.ActiveDocument.ModelSpace(i).EntityName = "AcDbOle2Frame" Then
     AApp.ActiveDocument.ModelSpace(i).LockAspectRatio = False
     AApp.ActiveDocument.ModelSpace(i).Width = 500
     AApp.ActiveDocument.ModelSpace(i).Height = 300

     NewPosition(0) = 25
     NewPosition(1) = 50
     NewPosition(2) = 0
     Call AApp.ActiveDocument.ModelSpace(i).Move(AApp.ActiveDocument.ModelSpace(i).InsertionPoint, NewPosition) 'insertionpoint is the coordinates of ole'lower-left
   
     Form1.Print "Finish."
     Exit For
  End If
Next


'CoordString = parameter(0) & "," & parameter(1)
'ADWG.SendCommand "_pasteclip" & vbCr & CoordString & vbCr
'ADWG.Save
Form1.Caption = "OK"
End Sub
我用以上代码测试过,没有问题。我用的是ACAD2013。你可以在遍历的时候,把每次得到的实体名称显示出来,找出OLE对象的名称很容易。我就是这样找才知道OLE对象名称是AcDbOle2Frame.

大开眼界
2015-03-31 08:44
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
收藏
得分:0 
回复 14楼 lianyicq
非常感谢版主耐心的回复,运行到这里Call AApp.ActiveDocument.ModelSpace(i).Move(AApp.ActiveDocument.ModelSpace(i).InsertionPoint, NewPosition),提示:“无效的过程调用或参数”。  难道是我调用的函数未定义?还是我机子缺少什么库?
2015-03-31 13:38
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 15楼 xingming022
Dim NewPosition(2) As Double

大开眼界
2015-03-31 13:41
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
收藏
得分:0 
回复 16楼 lianyicq
我是定义的单精度的,Dim NewPosition(2) As Single,非要双精度?好神奇啊。谢谢您啊~



[ 本帖最后由 xingming022 于 2015-3-31 15:26 编辑 ]
2015-03-31 14:18
快速回复:VB如何将EXCEL中指定的几行表格粘贴至CAD文件中指定的框框内?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019000 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved