|
发表于 2010-9-1 21:07:20
|
显示全部楼层
来自: 中国辽宁
有个问题:你是要查找名为"属性块"的块参照,还是要查找带有属性的块参照?/ _. y- ?" t" ^" h! o$ P
如果是前者,上面的代码就可以了.如果是后者,要用下面的代码
: ?. j' b- M$ B7 r- Sub A()% m3 i* H' K; ~$ W# f
- Dim E As AcadEntity, BR As AcadBlockReference, B As Boolean, Atts As Variant' W) L- O7 F+ ?) p
- For Each E In ThisDrawing.ModelSpace+ g6 N9 Q- U. ~$ H. B( T' ^1 e; [
- If E.ObjectName = "AcDbBlockReference" Then1 r/ `$ K- G6 D3 M: H
- Set BR = E
) }7 v8 V. L! P: Z/ e: n - Atts = BR.GetAttributes
4 _: a/ ^/ g! B# p - If UBound(Atts) >= 0 Then
5 m! P$ r$ u4 g/ U9 Q' I+ G - B = True N, z- J; F: l; [1 r
- Exit For
' B: n5 c" [/ J/ }% U - End If
0 ~1 u7 h$ I7 x+ I5 j! }% ?' Y - End If
+ w0 k9 |1 g* s: q - Next8 w: {9 ^1 w! L5 L. m
- If B Then
- i" `& q1 g5 ? - MsgBox "存在"
% r, ^, ?, a/ ]$ y' Q, u# m( H - Else" H& H. }6 e% G u- {
- MsgBox "不存在"% |( w2 V* {3 l, z$ \+ D
- End If% F( W; ~: g$ c2 _
- End Sub
/ q3 h/ R U7 x H( l1 o7 X4 J: [
复制代码 先声明一个变体变量,用块参照对象的"GetAttributes"方法获得块参照对象的属性数组并存放在这个变体变量中,再检查这个数组的下标,如果是-1则说明数组为空,该块参照对象没有属性;如果数组下标大于或等于0,则说明该块参照有属性. |
|