Gets the member object at a given index in a collection, group, or selection set.
Supported platforms: Windows only
VBA:
RetVal = object.Item(Index)
Type: All collections, Group, SelectionSet
The objects this method applies to.
Access: Input-only
Type: Variant
The index location in the collection for the member item to query.
The index must be either an integer or a string. If an integer, the index must be between 0 and N-1, where N is the number of objects in the collection or selection set.
Type: Object
The object at the given index location in the collection or selection set.
This method supports string-based iteration. For example, if a block named BLOCK1 was created with the following statement:
Set block1 = Blocks.Add("BLOCK1")
you could reference the object through the following statement:
Set whichblock = Blocks.Item("BLOCK1")
Dictionaries: The return value type for this method is IAcadObject. This allows you to retrieve named objects from the dictionaries collection that are not of the type Dictionary.
VBA:
Sub Example_Item()
' This example shows two uses of the Item method.
' The first uses Item with an index counter to return an item in a collection.
' The second uses Item with a string to return an item in a collection.
' Iterate thru the model space collection,
' get all the items in the collection
' and store them in an array called newObjs
Dim count As Integer
count = ThisDrawing.ModelSpace.count
ReDim newObjs(count) As AcadEntity
Dim index As Integer
For index = 0 To count - 1
Set newObjs(index) = ThisDrawing.ModelSpace.Item(index)
Next
' Get a particular item, in this case a layer, based on name "0"
Dim layerObj As AcadLayer
Set layerObj = ThisDrawing.Layers.Item("0")
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_Item()
;; This example shows two uses of the Item method.
;; The first uses Item with an index counter to return an item in a collection.
;; The second uses Item with a string to return an item in a collection.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; Iterate thru the model space collection,
;; get all the items in the collection
;; and store them in an array called newObjs
(setq count (vla-get-Count (vla-get-ModelSpace doc))
index 0)
(setq newObjs (vlax-make-safearray vlax-vbObject (cons 0 count)))
(while (>= (1- count) index)
(vlax-safearray-put-element newObjs index (vla-Item (vla-get-ModelSpace doc) index))
(setq index (1+ index))
)
;; Get a particular item, in this case a layer, based on name "0"
(setq layerObj (vla-Item (vla-get-Layers doc) "0"))
)