|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点8 h k; P* S( Z: a5 b6 v: k
一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument( |) N6 J* D* e3 F. v. W2 D( g2 E
- Set Doc = ThisDrawing.Application.Documents.Add()! T: K( j! }, k8 t. ]* l
复制代码 还可以写成- Dim Doc As AcadDocument
: _+ g' a ^- R4 U - Set Doc = Documents.Add()
) S8 D) W6 ? _
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略) E6 W+ ]' g) E0 L0 d1 S
二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument5 [" D1 a1 G, [! Q
- On Error Resume Next# I s; o3 T' v( w. i: g
- Set CAD = GetObject(, "autocad.application")' M( e0 g! d- a9 u6 j& l
- If Err Then5 p4 e" e' h; \
- Set CAD = CreateObject("autocad.application")* |+ ]7 j# K9 w, j4 P0 e3 H2 p
- Err.Clear/ v' o& y0 Q U' Y/ P+ ?$ W) `" A* o
- End If
, T4 X! v' n5 C/ P9 o6 B - CAD.Visible = True0 I0 Q3 z( H3 y; R, _1 T
- Set Doc = CAD.Documents.Add()
复制代码 |
|