从集合中返回一个项目。 Item 属性是所有集合的默认属性。 此为只读属性。
语法
表达式。Item (NameUIDOrIndex)
expression:一个表示 Shapes 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
NameUIDOrIndex | 必需 | Variant | 包含要检索的对象的名称、唯一 ID 或索引。 |
返回值
Shape
说明
从集合中检索对象时,您可以省略表达式中的 Item,因为它是所有集合的默认属性。 下列语句等效于上面给出的语法示例:
objRet = object(index)
objRet = object(stringExpression)
通过将对象名称作为 Variant 类型的字符串表达式来传递,您可以在 Addons、Documents、Fonts、Hyperlinks、Layers、Masters、MasterShortcuts、OLEObjects、Pages、Shapes 或 Styles 集合中检索对象。
如果您按名称检索 Shape 对象,则 Item 属性除了在 Shapes 集合的包含形状中搜索形状外,还将在该集合的包含页面或包含主控形状中搜索所有形状。 因此,由 Item 属性返回的 Shape 对象可以是不在 Shapes 集合中的形状。
还可以将 Master 或 Shape 对象的唯一 ID 字符串传递给 Item 属性。 例如:
objRet = vsoShapes.Item("{2287DC42-B167-11CE-88E9-0020AFDDD917}")
如果将此类字符串传递给 Shapes 集合的 Item 属性,则会搜索集合中包含的所有形状。 但不搜索包含形状中的组合形状中的形状。
要搜索集合中的所有形状以及组和集合的包含形状内的形状,请以星号 (*) 作为唯一 ID 字符串的前缀。 例如:
objRet = vsoShapes.Item("*{2287DC42-B167-11CE-88E9-0020AFDDD917}")
有关将 ID 字符串传递给 Item 属性的详细信息,请参阅此参考中的 UniqueID 属性的主题。
示例
此 Microsoft Visual Basic for Applications (VBA) 宏显示如何使用 Item 属性从活动文档的 Pages 集合获取 Page 对象,以及 Page 对象的 Shapes 集合中的所有 Shape 对象。 该宏在“立即”窗口中打印第一页上所有形状的名称。
运行此宏前,请确保活动文档在第一页上包含形状。
Public Sub Item_Example()
Dim intCounter As Integer
Dim intShapeCount As Integer
Dim vsoShapes As Visio.Shapes
Set vsoShapes = ActiveDocument.Pages.Item(1).Shapes
Debug.Print "Shape Name List For..."
Debug.Print "Document: "; ActiveDocument.Name
Debug.Print "Page: "; ActiveDocument.Pages.Item(1).Name
intShapeCount = vsoShapes.Count
If intShapeCount > 0 Then
For intCounter = 1 To intShapeCount
Debug.Print " "; vsoShapes.Item(intCounter).Name
Next intCounter
Else
Debug.Print " No Shapes On Page"
End If
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。