Shape.GeometryCount 属性 (Visio)

返回形状的“Geometry”内容的数量。 此为只读属性。

语法

expressionGeometryCount

表达 一个代表 Shape 对象的变量。

返回值

整数

示例

以下 Microsoft Visual Basic for Applications (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 支持和反馈,获取有关如何接收支持和提供反馈的指南。