Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает массив ячеек таблицы свойств, от которого зависит формула другой ячейки. Только для чтения.
Синтаксис
выражение. Прецеденты
выражение Переменная, представляющая объект Cell .
Возвращаемое значение
Ячейка ()
Примечания
Свойство "Прецеденты" возвращает массив ячеек, которые вызывают пересчет значения родительского объекта Cell при изменении его формулы или значения.
Пример
В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать свойство "Прецеденты" для отображения списка ячеек, от которых зависит ячейка "Scratch.X1" фигуры. Макрос рисует прямоугольник на активной странице, добавляет раздел Scratch на ShapeSheet прямоугольника, а затем вводит в ячейку этого раздела формулу, которая используется для изгиба сторон прямоугольника внутрь, изменяя стороны каждого из прямоугольников на дугу. Поскольку формула, используемая для изгиба сторон прямоугольника, зависит от ширины и высоты прямоугольника, ячейка с формулой Scratch.X1 зависит от ячеек Width и Height фигуры прямоугольника, что делает эти ячейки приоритетными.
Public Sub Precedents_Example()
Dim acellPrecedentCells() As Visio.Cell
Dim vsoCell As Visio.Cell
Dim vsoShape As Visio.Shape
Dim strBowCell As String
Dim strBowFormula As String
Dim intCounter As Integer
'Set the value of the strBowCell string
strBowCell = "Scratch.X1"
'Set the value of the strBowFormula string
strBowFormula = "=Min(Width, Height) / 5"
'Draw a rectangle on the active page
Set vsoShape = ActivePage.DrawRectangle(1, 5, 5, 1)
'Add a scratch section and then
vsoShape.AddSection visSectionScratch
'Add a row to the scratch section
vsoShape.AddRow visSectionScratch, visRowScratch, 0
'Place the value of strBowFormula into Scratch.X1
'Set the Cell object to the Scratch.X1 and set formula
Set vsoCell = vsoShape.Cells(strBowCell)
'Set up the offset for the arc
vsoCell.Formula = strBowFormula
'Bow in or curve the original rectangle's lines by changing
'each row to an arc and entering the bow value
For intCounter = 1 To 4
vsoShape.RowType(visSectionFirstComponent, visRowVertex + intCounter) = visTagArcTo
Set vsoCell = vsoShape.CellsSRC(visSectionFirstComponent, visRowVertex + intCounter, 2)
vsoCell.Formula = "-" & strBowCell
Next intCounter
'Get the array of precedent cells
acellPrecedentCells = vsoShape.Cells("Scratch.X1").Precedents
'List the cell names and their associated formula
For intCounter = LBound(acellPrecedentCells) To UBound(acellPrecedentCells)
Set vsoCell = acellPrecedentCells(intCounter)
Debug.Print vsoCell.Name & " has this formula: " & vsoCell.Formula
Next
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.