|
|
发表于 2010-9-1 21:07:20
|
显示全部楼层
来自: 中国辽宁
有个问题:你是要查找名为"属性块"的块参照,还是要查找带有属性的块参照?
8 `1 W6 N: t7 J6 Q6 O8 D! Q如果是前者,上面的代码就可以了.如果是后者,要用下面的代码
- ^8 J7 g9 e) @# E- Sub A()
4 D8 s5 T! s9 O& a - Dim E As AcadEntity, BR As AcadBlockReference, B As Boolean, Atts As Variant
! l: L" B6 K, y/ p - For Each E In ThisDrawing.ModelSpace2 W4 W# y3 W$ D! R1 J, ?( j
- If E.ObjectName = "AcDbBlockReference" Then1 b' I$ t' \# z
- Set BR = E2 j& m% ?+ s" V* [
- Atts = BR.GetAttributes( l; {( V2 x" @
- If UBound(Atts) >= 0 Then: P: x3 p- S e7 D# N) W4 T
- B = True
/ Y3 ]/ l+ h, A* z+ ~5 x - Exit For
; J4 S& ?/ W) a, D& L: X' L - End If
; y4 P; ]7 p) o- r( R/ Y - End If
* C$ c8 s @8 ]/ N6 J0 X3 Z# U* I - Next+ }# X2 _6 M0 b9 i) _9 [
- If B Then0 X T+ J* x/ u+ g" ~. g$ \
- MsgBox "存在"3 Y' `" D' D; H- a
- Else( l/ @, @6 _% T" S
- MsgBox "不存在"
( e( @* {7 K0 `( q) h7 i - End If- c( n4 b% _% i7 X9 b! ~* u* J
- End Sub8 D7 l* H' g2 h# w5 t; H
复制代码 先声明一个变体变量,用块参照对象的"GetAttributes"方法获得块参照对象的属性数组并存放在这个变体变量中,再检查这个数组的下标,如果是-1则说明数组为空,该块参照对象没有属性;如果数组下标大于或等于0,则说明该块参照有属性. |
|