Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Получает или задает формулу для объекта Cell . Для чтения и записи.
Синтаксис
выражение. Формула
выражение Переменная, представляющая объект Cell .
Возвращаемое значение
String
Примечания
Если формула ячейки защищена с помощью функции GUARD, необходимо использовать свойство FormulaForce , чтобы изменить формулу в ячейке.
Примечание.
Начиная с Microsoft Visio 2000, для обозначения фигур, образцов, документов, страниц, строк, надстроек, ячеек, гиперссылок, стилей, шрифтов, master ярлыков, объектов пользовательского интерфейса и слоев можно использовать как локальные, так и универсальные имена. Например, когда пользователь дает имя фигуре, он указывает локальное имя. Начиная с Microsoft Office Visio 2003, в формулах и значениях ячеек отображается только таблица свойств фигур. (В предыдущих версиях универсальные имена не отображались в пользовательском интерфейсе.)
Разработчик может использовать универсальные имена в программе, если вы не хотите менять имя каждый раз при локализации решения. Свойство "Формула " используется для получения строки формулы ячейки в локальном синтаксисе или для ее настройки сочетания локального и универсального синтаксиса. Свойство FormulaU используется для получения или анализа формулы в универсальном синтаксисе. При использовании FormulaU десятичным разделителем всегда является ".", разделителем всегда является ",", и необходимо использовать строки универсальных единиц (подробнее об универсальных строках см. в разделе О единицах измерения).
Пример
В этом макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать свойство "Формула", чтобы задать формулу для ячейки таблицы свойств. Он рисует прямоугольник на странице и изгибает или изгибает линии прямоугольника, преобразуя линии фигуры в дуги. Затем он рисует внутренний прямоугольник внутри изогнутых линий первого прямоугольника.
Public Sub Formula_Example()
Dim vsoPage As Visio.Page
Dim vsoShape As Visio.Shape
Dim vsoCell As Visio.Cell
Dim strBowCell As String
Dim strBowFormula As String
Dim intIndex As Integer
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"
Set vsoPage = ActivePage
'If there isn't an active page, set vsoPage
'to the first page of the active document.
If vsoPage Is Nothing Then
Set vsoPage = ActiveDocument.Pages(1)
End If
'Draw a rectangle on the active page.
Set vsoShape = vsoPage.DrawRectangle(1, 5, 5, 1)
'Add a Scratch section to the shape's ShapeSheet.
vsoShape.AddSection visSectionScratch
'Add a row to the Scratch section.
vsoShape.AddRow visSectionScratch, visRowScratch, 0
'Set vsoCell to the Scratch.X1 cell and set its formula.
Set vsoCell = vsoShape.Cells(strBowCell)
vsoCell.Formula = strBowFormula
'Bow in or curve the rectangle's lines by changing
'each row type from LineTo to ArcTo 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
'Create an inner rectangle.
'Set the section index for the inner rectangle's Geometry section.
intIndex = visSectionFirstComponent + 1
'Add an inner rectangle Geometry section.
vsoShape.AddSection intIndex
'Add the first 2 rows to the section.
vsoShape.AddRow intIndex, visRowComponent, visTagComponent
vsoShape.AddRow intIndex, visRowVertex, visTagMoveTo
'Add 4 LineTo rows to the section.
For intCounter = 1 To 4
vsoShape.AddRow intIndex, visRowLast, visTagLineTo
Next intCounter
'Set the inner rectangle start point cell formulas.
Set vsoCell = vsoShape.CellsSRC(intIndex, 1, 0)
vsoCell.Formula = "Width * 0 + " & strBowCell
Set vsoCell = vsoShape.CellsSRC(intIndex, 1, 1)
vsoCell.Formula = "Height * 0 + " & strBowCell
'Draw the inner rectangle bottom line.
Set vsoCell = vsoShape.CellsSRC(intIndex, 2, 0)
vsoCell.Formula = "Width * 1 - " & strBowCell
Set vsoCell = vsoShape.CellsSRC(intIndex, 2, 1)
vsoCell.Formula = "Height * 0 + " & strBowCell
'Draw the inner rectangle right side line.
Set vsoCell = vsoShape.CellsSRC(intIndex, 3, 0)
vsoCell.Formula = "Width * 1 - " & strBowCell
Set vsoCell = vsoShape.CellsSRC(intIndex, 3, 1)
vsoCell.Formula = "Height * 1 - " & strBowCell
'Draw the inner rectangle top line.
Set vsoCell = vsoShape.CellsSRC(intIndex, 4, 0)
vsoCell.Formula = "Width * 0 + " & strBowCell
Set vsoCell = vsoShape.CellsSRC(intIndex, 4, 1)
vsoCell.Formula = "Height * 1 - " & strBowCell
'Draw the inner rectangle left side line.
Set vsoCell = vsoShape.CellsSRC(intIndex, 5, 0)
vsoCell.Formula = "Geometry2.X1"
Set vsoCell = vsoShape.CellsSRC(intIndex, 5, 1)
vsoCell.Formula = "Geometry2.Y1"
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.