Cell.Precedents プロパティ (Visio)
別のセルの数式が依存する ShapeSheet セルの配列を返します。 読み取り専用です。
式。判例
式Cell オブジェクトを表す変数。
Cell()
Precedents プロパティは、親 Cell オブジェクトが数式または値が変更されたときに値を再計算するセルの配列を返します。
次の Microsoft Visual Basic for Applications (VBA) マクロは、Precedents プロパティを使用して、図形の "Scratch.X1" セルが依存するセルの一覧を表示する方法を示しています。 マクロは、作業中のページに四角形を描画し、四角形の ShapeSheet に Scratch セクションを追加し、四角形の各辺を円弧に変更することで、四角形の辺を内側に下げるのに使用する、そのセクションのセルに数式を入力します。四角形の辺を下げる数式は四角形の幅と高さによって異なるため、数式 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 のサポートおよびフィードバックを参照してください。