[求助]关于将某文件夹下DWG文件当作块插入当前DWG文件
目的叙述:将D盘5w.dwg文件当作块插入当前已打开的xyz.dwg文件?
程序内容:
Private Sub Command2_Click()
Dim blockRefObj As AcadBlockReference
Dim Pnt(0 To 2) As Double
Pnt(0) = 2
Pnt(1) = 2
Pnt(2) = 0
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(Pnt, "D:\5w.dwg", 1#, 1#, 1#, 0)
blockRefObj.Update
End Sub
出现错误:
实时错误:424要求对象
(对上述红色区域)
问题请教:
1、以上程序错在那里?怎样修改?
2、如果想在插入时打散(炸开),应怎样修改?
谢谢各位。
炸开blockRefObj.Explode
可能是你的D盘下没有5W.DWG
我这可以运行。
代码正确,可以运行
Private Sub CommandButton1_Click()
Dim blockRefObj As AcadBlockReference
Dim Pnt(0 To 2) As Double
Pnt(0) = 2
Pnt(1) = 2
Pnt(2) = 0
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(Pnt, "D:\5w.dwg", 1#, 1#, 1#, 0)
blockRefObj.Explode
blockRefObj.Update
End Sub
哦,我忘记告诉大家是在VB中编的,并不是VBA,
请问是不是ThisDrawing出的错?
在VB中当前文件能用ThisDrawing表示吗?
以上代码应怎样修改?盼复!
看看这个。再在GOOGLE中搜下VBA VB CAD,网上很多的
Public AcadApp As Object
Private Sub Form_Load()
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set AcadApp = CreateObject("AutoCAD.Application")
If Err Then
MsgBox ("不能运行AutoCAD, 请检查是否安装了AutoCAD")
Exit Sub
End If
End If
AcadApp.Visible = True
End sub
Private Sub CommandButton1_Click()
Dim blockRefObj As Object
Dim Pnt(0 To 2) As Double
Pnt(0) = 2#: Pnt(1) = 2#:Pnt(2) = 0#
Set blockRefObj = AcadApp.Activedocument.ModelSpace.InsertBlock(Pnt,"D:\5w.dwg",1#, 1#, 1#, 0)
blockRefObj.Explode
blockRefObj.Update
End Sub
西北凡人: http://www.abofanyi.com/blog
第一步打开CAD是对的,
第二步插入图块出现:
自参照
的错误,请看看。
盼!
可能是你5w.dwg在打开状态吧。
我刚试了没有问题的
不会吧,我怎么试着出现了“自参照”(是循环参照)的问题?
你能不能简单做一个如我在7楼的VB程序贴上来?
多谢!
我就是用的你的原程序,什么都没有开。直接打开工程就可以用了
页:
[1]