|
|
发表于 2009-3-13 06:06:27
|
显示全部楼层
来自: 中国
补充几点 E+ o0 _2 V4 h" h, ~/ [- d# w
一、如果是在ACAD的VBA中新建文档,可以写成楼上的形式,并在这个用Doc变量引用的新文档中进行画图操作。也可以写成这样的形式- Dim Doc As AcadDocument0 m, f# O# `2 j1 }- D9 h2 e
- Set Doc = ThisDrawing.Application.Documents.Add()6 g, o+ o+ Y: M6 P2 S
复制代码 还可以写成- Dim Doc As AcadDocument6 z# B" t% F$ R1 N1 l
- Set Doc = Documents.Add()
2 m/ d$ t3 Y) V3 Q5 J# ? u
复制代码 这是因为,在ACAD的VBA中,AutoCAD.Application是全局对象,使用它的方法和属性时可以省略
) h3 ]% ?8 }! X1 a V) b( W! P二、如果在VB或其它应用程序的VBA中调用ACAD,首先应该保证有一个正在运行的ACAD进程,完整的代码可以这样写- Dim CAD As AcadApplication, Doc As AcadDocument
$ J0 F# S) `% V% D - On Error Resume Next* c6 d" c" P, B* g6 j
- Set CAD = GetObject(, "autocad.application")
4 @4 r' e2 q0 f* Q: y; ]# E - If Err Then$ P5 |& e" C4 y3 ~! a3 i
- Set CAD = CreateObject("autocad.application")
+ f- E4 X0 I, [; M) r - Err.Clear8 l! `* ^7 d& p0 T# {) N* w: ?1 k. L
- End If
" A `3 v5 R% k# F - CAD.Visible = True
8 Q+ U* j: l r9 j* R; @6 y! P4 H, U - Set Doc = CAD.Documents.Add()
复制代码 |
|