CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于循环访问集合对象 (VBA/ActiveX)

2023-1-5 03:18| 发布者: admin| 查看: 665| 评论: 0|来自: AutoCAD

摘要: 若要选择集合对象的特定成员,请使用 Item 方法。

若要选择集合对象的特定成员,请使用该方法。Item

该方法需要一个标识符作为索引号,该索引号指定项在集合中的位置或表示项名称的字符串。Item

该方法是集合的默认方法。如果在引用集合时未指定方法名称,则假定为 Item。以下语句是等效的:Item

ThisDrawing.Layers.Item("ABC")
ThisDrawing.Layers("ABC")
注意:不要在任何对象上使用实体编辑方法(,,,等),同时使用机制循环访问集合。在尝试编辑集合中的对象之前完成迭代,或者创建一个临时数组并将其设置为与集合相等。然后,您可以循环访问复制的数组并执行编辑。CopyArrayMirrorFor Each

循环访问图层集合

以下示例循环访问集合并显示集合中所有图层的名称:

Sub Ch2_IterateLayer()
    ' Iterate through the collection
    On Error Resume Next

    Dim I As Integer
    Dim msg As String
    msg = ""
    For I = 0 To ThisDrawing.Layers.count - 1
        msg = msg + ThisDrawing.Layers.Item(I).Name + vbCrLf
    Next
    MsgBox msg
End Sub

查找名为 MyLayer 的图层

以下示例引用名为 MyLayer 的图层,如果该图层不存在,则会发出一条消息:

Sub Ch2_FindLayer()
    ' Use the Item method to find a layer named MyLayer
    On Error Resume Next

    Dim ABCLayer As AcadLayer
    Set ABCLayer = ThisDrawing.Layers("MyLayer")
    If Err <> 0 Then
        MsgBox "The layer 'MyLayer' does not exist."
    End If
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-28 02:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部