Compartilhar via


Propriedade Shape.GeometryCount (Visio)

Retorna o número seções Geometry em uma forma. Somente leitura.

Sintaxe

expression. GeometryCount

Expressão Uma variável que representa um objeto Shape .

Valor de retorno

Inteiro

Exemplo

Esta macro do VBA (Microsoft Visual Basic for Applications) mostra como usar a propriedade GeometryCount para determinar o número de seções Geometry que uma forma possui.

Antes de executar essa macro, insira no seu projeto um formulário de usuário contendo uma caixa de listagem. Use os nomes padrão para o formulário e a caixa de listagem. Na janela Propriedades, defina a largura do formulário como 400 e a largura da caixa de listagem como 300. Essa macro presume que haja uma ou mais formas na página ativa.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.