|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点
: ~2 z% S( b9 J1 N- l" o+ c一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument5 W; @3 f1 t' g. ?
- Set Doc = ThisDrawing.Application.Documents.Add(): w1 G/ r9 b3 [+ k8 O
复制代码 还可以写成- Dim Doc As AcadDocument" E) N, i. s$ C) q4 z) _
- Set Doc = Documents.Add()
4 c4 B; N r8 ^
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
, z) s( V/ ~2 `二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
; I7 k9 |( B$ I1 ~ R4 u - On Error Resume Next3 E' o c3 m2 a; N& ^6 a
- Set CAD = GetObject(, "autocad.application")
7 Q% u) l3 A' m5 d% Y - If Err Then# Q$ R; c) s7 G2 E' p# }1 q3 c4 v6 H
- Set CAD = CreateObject("autocad.application")' ]" [" O$ u# \4 D3 L
- Err.Clear
/ |( E* ^0 P8 p1 J3 J; U - End If# m; c& |3 j4 H8 e) K
- CAD.Visible = True" E) |* c6 P# m, z, q
- Set Doc = CAD.Documents.Add()
复制代码 |
|