Свойство Shape.GeometryCount (Visio)
Возвращает количество разделов geometry для фигуры. Только для чтения.
Синтаксис
выражение. GeometryCount
Выражение Переменная, представляющая объект Shape .
Возвращаемое значение
Целое число
Пример
В этом макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать свойство GeometryCount для определения количества разделов Geometry фигуры.
Чтобы запустить этот макрос, сначала вставьте в проект форму пользователя, содержащую список. Используйте имена по умолчанию для формы и списка. В окно свойств задайте ширину формы 400, а ширину списка — 300. Этот макрос также предполагает наличие одной или нескольких фигур на активной странице.
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.
UserForm1.ListBox1.Clear
'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, _
intCurrentCell).Formula
Next intCurrentCell
Next intCurrentRow
Next intCurrentGeometrySectionIndex
'Display the user form.
UserForm1.Show
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.