共用方式為


Visio (的 Shapes.Item 屬性)

會傳回集合中的某個項目。 Item屬性是所有集合的預設屬性。 唯讀。

語法

運算式專案 (NameUIDOrIndex)

expression 代表 Shapes 物件的變數。

參數

名稱 必要/選用 資料類型 描述
NameUIDOrIndex 必要 Variant 包含要擷取的物件之名稱、唯一識別碼或索引。

傳回值

圖形

註解

從集合擷取物件時,您可以省略運算式中的 Item ,因為它是所有集合的預設屬性。 下列語句相當於上面提供的語法範例:

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

您可以在 AddonsDocumentsFontsHyperlinksLayersMastersMasterShortcutsOLEObjectsPagesShapesStyles 集合中擷取物件,透過的方式是將該物件的名稱傳遞為 Variant 中的字串運算式。

如果您依名稱擷取 Shape 物件,除了集合的包含圖形之外, Item 屬性還會搜尋 Shapes 集合包含頁面或包含主圖形中的所有圖形。 因此,Item屬性傳回的Shape物件可以是不在Shapes集合中的圖形。

您也可以將 MasterShape 物件的唯一識別碼字串傳遞給 Item 屬性。 例如:

objRet = vsoShapes.Item("{2287DC42-B167-11CE-88E9-0020AFDDD917}")

如果將這類字串傳遞至Shapes集合的Item屬性,則會搜尋集合中包含的所有圖形。 不會搜尋包含圖形中群組圖形內的圖形。

若要搜尋此集合中的所有圖形,以及在群組內的圖形與此集合的包含圖形中搜尋,請在唯一識別碼字串中加上星號 (*) 當做首碼。 例如:

objRet = vsoShapes.Item("*{2287DC42-B167-11CE-88E9-0020AFDDD917}")

如需將識別碼字串傳遞至 Item 屬性的詳細資訊,請參閱本參考中 UniqueID 屬性的主題。

範例

這個 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用Item屬性,從使用中檔的Pages集合,以及 Page 物件的Shapes集合中的所有Shape物件取得Page物件。 它會在 [即時運算] 視窗中列印第 1 頁上所有圖形的名稱。

在執行這個巨集之前,請確定使用中的文件在第 1 頁上有圖形。

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 支援與意見反應