从集合中返回一个项目。 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。