共用方式為


Shape.GeometryCount 屬性 (Visio)

會傳回圖形的 Geometry 區段數目。 唯讀。

語法

expressionGeometryCount

expression 一個用於表示 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 支援與意見反應