|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点) U7 @$ A6 B, q& F
一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument
4 C/ d( T" V( ` - Set Doc = ThisDrawing.Application.Documents.Add()
2 D7 C3 J. v( B$ V, o
复制代码 还可以写成- Dim Doc As AcadDocument6 Z: [. C& i- f+ G' \8 b
- Set Doc = Documents.Add()( x' J& H9 v6 A0 Z" @0 F' i7 R
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
$ w; |- A0 u# z二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
2 q. I" A& K, P - On Error Resume Next
/ o1 `/ D- `( S4 Z' z: A8 H# X' Y - Set CAD = GetObject(, "autocad.application")
: n0 j' q$ q( Y3 E9 c% h* F - If Err Then
* H$ D/ N9 Y# j6 G) }- M/ V9 l ^ - Set CAD = CreateObject("autocad.application")
* C8 o& F- q' P$ H7 E - Err.Clear
, t- ?7 ], g8 }) q - End If6 A3 @0 W4 u; A6 c6 _% t
- CAD.Visible = True. u [, B/ W5 X
- Set Doc = CAD.Documents.Add()
复制代码 |
|