|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点" o6 e# D# a2 N# F6 @$ e
一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument. T m: _- o5 `
- Set Doc = ThisDrawing.Application.Documents.Add()
% R3 Q( y7 s ]" n
复制代码 还可以写成- Dim Doc As AcadDocument
0 Z0 N8 q& j) o - Set Doc = Documents.Add()
8 r2 A5 ~3 h/ x& S" X
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
, W# ~" m- F" ~% H, C4 K; t0 p2 o二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
( j0 q6 c7 P5 R4 R# a; g- C - On Error Resume Next
; z0 {, K0 ]' X3 x2 ?0 P - Set CAD = GetObject(, "autocad.application")
1 k) }- B! o+ M4 ?/ _* U - If Err Then
; d. ]' U( K5 O$ C - Set CAD = CreateObject("autocad.application")1 }6 m9 P5 L+ s) i. Z( V
- Err.Clear. G8 n5 m: j4 J
- End If! n1 e6 [$ h/ U- w, @% m* n2 I
- CAD.Visible = True
6 \3 t+ y5 O: A - Set Doc = CAD.Documents.Add()
复制代码 |
|