|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点
" C$ S) y/ J. l; B一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument0 ^# h, X& P, y0 `) W9 b; M0 ]4 x
- Set Doc = ThisDrawing.Application.Documents.Add()3 d; x. x0 i. Z. Q+ [
复制代码 还可以写成- Dim Doc As AcadDocument4 ^( M7 l' s& A+ H( X" F
- Set Doc = Documents.Add()" Y6 k" x6 p3 U4 n7 V2 ^
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
8 a/ L P* H; i. S, [0 _二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
3 |8 \. m1 S, M - On Error Resume Next
% I/ C9 j$ y1 U7 y g& D - Set CAD = GetObject(, "autocad.application")4 {- Z |' t9 f# H; x. ^
- If Err Then
# b& M& K2 T) S - Set CAD = CreateObject("autocad.application"). E6 k2 y9 O2 | ]" S$ c
- Err.Clear) q. o7 }0 Y% k5 G M
- End If
' s1 c3 o9 r+ u& E; ]% S. N+ T; W* C - CAD.Visible = True
5 Q c" T H5 \3 v' S& x - Set Doc = CAD.Documents.Add()
复制代码 |
|