GeometryCount プロパティ (Visio)Shape.GeometryCount property (Visio)

図形の [Geometry] セクションの数を返します。Returns the number of Geometry sections for a shape. 読み取り専用です。Read-only.


expression.expression. GeometryCount

Shape オブジェクトを表す変数を取得します。expression A variable that represents a Shape object.

戻り値Return value



次の Microsoft Visual Basic for Applications (VBA) マクロは、 GeometryCountプロパティを使用して、図形に含まれる Geometry セクションの数を確認する方法を示しています。This Microsoft Visual Basic for Applications (VBA) macro shows how to use the GeometryCount property to determine the number of Geometry sections a shape has.

このマクロを実行するには、まず、リスト ボックスを含むユーザー フォームをプロジェクトに挿入します。To run this macro, first insert into your project a user form that contains a list box. フォームとリスト ボックスの名前には既定の名前をそのまま使用します。Use the default names for the form and the list box. [プロパティ] ウィンドウで、フォームの幅を400に、リストボックスの幅を300に設定します。In the Properties window, set the width of the form to 400 and the width of the list box to 300. また、このマクロは、アクティブなページに 1 つまたは複数の図形が存在することも前提としています。This macro also assumes that you have one or more shapes on the active page.

Public Sub GeometryCount_Example() 
 Dim vsoShape As Visio.Shape 
 Dim intCurrentGeometrySection As Integer 
 Dim intCurrentGeometrySectionIndex As Integer 
 Dim intRows As Integer 
 Dim intCells As Integer 
 Dim intCurrentRow As Integer 
 Dim intCurrentCell As Integer 
 Dim intSections As Integer 
 'Get the first shape from the active page. 
 Set vsoShape = ActivePage.Shapes(1) 
 'Clear the list box. 
 'Get the count of Geometry sections in the shape. 
 '(If the shape is a group, this will be 0.) 
 intSections = vsoShape.GeometryCount 
 'Iterate through all Geometry sections for the shape. 
 'Because we are adding the current Geometry section index to 
 'the constant visSectionFirstComponent, we must start with 0. 
 For intCurrentGeometrySectionIndex = 0 To intSections - 1 
 'Set a variable to use when accessing the current 
 'Geometry section. 
 intCurrentGeometrySection = visSectionFirstComponent + intCurrentGeometrySectionIndex 
 'Get the count of rows in the current Geometry section. 
 intRows = vsoShape.RowCount(intCurrentGeometrySection) 
 'Loop through the rows. The count is zero-based. 
 For intCurrentRow = 0 To (intRows - 1) 
 'Get the count of cells in the current row. 
 intCells = vsoShape.RowsCellCount(intCurrentGeometrySection, intCurrentRow) 
 'Loop through the cells. Again, this is zero-based. 
 For intCurrentCell = 0 To (intCells - 1) 
 'Get the cell's formula and 
 'add it to the list box. 
 UserForm1.ListBox1.AddItem _ 
 vsoShape.CellsSRC(intCurrentGeometrySection, intCurrentRow, _ 
 intCurrentCell).LocalName & ": " & _ 
 vsoShape.CellsSRC(intCurrentGeometrySection, intCurrentRow, _ 
 Next intCurrentCell 
 Next intCurrentRow 
 Next intCurrentGeometrySectionIndex 
 'Display the user form. 
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.