Shapes.Item 属性 (Visio)

从集合中返回一个项目。 Item 属性是所有集合的默认属性。 此为只读属性。

语法

表达式Item (NameUIDOrIndex)

expression:一个表示 Shapes 对象的变量。

参数

名称 必需/可选 数据类型 说明
NameUIDOrIndex 必需 Variant 包含要检索的对象的名称、唯一 ID 或索引。

返回值

Shape

说明

从集合中检索对象时,您可以省略表达式中的 Item,因为它是所有集合的默认属性。 下列语句等效于上面给出的语法示例:

objRet = object(index)  
objRet = object(stringExpression)

通过将对象名称作为 Variant 类型的字符串表达式来传递,您可以在 AddonsDocumentsFontsHyperlinksLayersMastersMasterShortcutsOLEObjectsPagesShapesStyles 集合中检索对象。

如果您按名称检索 Shape 对象,则 Item 属性除了在 Shapes 集合的包含形状中搜索形状外,还将在该集合的包含页面或包含主控形状中搜索所有形状。 因此,由 Item 属性返回的 Shape 对象可以是不在 Shapes 集合中的形状。

还可以将 MasterShape 对象的唯一 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。