|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点
: P9 m: o2 v3 g5 U- B" l一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument3 Y* w1 J8 J- s2 U7 F5 p
- Set Doc = ThisDrawing.Application.Documents.Add()
! w4 R" f" Q, Y% H
复制代码 还可以写成- Dim Doc As AcadDocument2 Z8 E9 \0 G) N& `5 l- [) O
- Set Doc = Documents.Add()
% I' p( t( G y( Z9 w
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
5 ^2 W0 a; J) b7 _6 C' x* `3 X二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument7 T! o+ f+ l& E5 k* U8 ^8 l0 g
- On Error Resume Next) M, ]0 t8 `6 ~9 _% k
- Set CAD = GetObject(, "autocad.application")" d. K/ x }5 }
- If Err Then1 |. d7 w8 {' D, ?/ d: U( b6 N/ c
- Set CAD = CreateObject("autocad.application")
% C5 z( A% o5 {1 F5 V) S3 y4 H - Err.Clear9 T, z v/ z; C6 M2 z( J$ H* S
- End If
4 U1 ~; H# l' H2 o4 v1 s$ l- `2 a - CAD.Visible = True
) ^3 y4 K e3 O - Set Doc = CAD.Documents.Add()
复制代码 |
|