Shapes.Item プロパティ (Visio)

コレクションからアイテムを返します。 Item プロパティはすべてのコレクションの既定のプロパティです。 読み取り専用です。

構文

Item (NameUIDOrIndex)

表現Shapes オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
NameUIDOrIndex 必須 バリアント型 取得するオブジェクトの名前、一意の ID、またはインデックスを格納します。

戻り値

Shape

注釈

コレクションからオブジェクトを取得する場合、Item はすべてのコレクションの既定のプロパティであるため、式から省略できます。 次のステートメントは上記の構文の例に相当します。

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

Variant の文字列式としてオブジェクトの名前を渡すと、AddonsDocumentsFontsHyperlinksLayersMastersMasterShortcutsOLEObjectsPagesShapesStyles コレクションのオブジェクトを取得できます。

名前で 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}")

Item プロパティに ID 文字列を渡す方法の詳細については、このリファレンスの UniqueID プロパティのトピックを参照してください。

この Microsoft Visual Basic for Applications (VBA) マクロは、Item プロパティを使用して、作業中の文書の Pages コレクションから Page オブジェクトを取得する方法と、Page オブジェクトの Shapes コレクション内のすべての Shape オブジェクトを取得する方法を示しています。 マクロは、イミディエイト ウィンドウの 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 のサポートおよびフィードバックを参照してください。