Table of contents
TOC
Recolher sumário
Expandir sumário

Propriedade Cell.Formula (Visio)Cell.Formula Property (Visio)

office 365 dev account|Última Atualização: 22/03/2018
|
2 Colaboradores

Obtém ou define a fórmula para um objeto Cell . Leitura/gravação.Gets or sets the formula for a Cell object. Read/write.

SintaxeSyntax

expressão . Fórmulaexpression . Formula

expressão Uma variável que representa um objeto Cell .expression A variable that represents a Cell object.

Valor retornadoReturn Value

StringString

ComentáriosRemarks

Se a fórmula de uma célula estiver protegida pela função GUARD, você deve usar a propriedade FormulaForce para alterar a fórmula da célula.If a cell's formula is protected with the GUARD function, you must use the FormulaForce property to change the cell's formula.

Observação A partir do Microsoft Visio 2000, você pode usar os nomes locais e universais para se referir a formas do Visio, masters, documentos, páginas, linhas, complementos, células, hyperlinks, estilos, fontes, atalhos de mestre, objetos de interface do usuário e camadas. Por exemplo, um usuário nos nomes de uma forma, o usuário está especificando um nome local. A partir do Microsoft Office Visio 2003, a planilha ShapeSheet exibe somente os nomes universais em valores e fórmulas de células. (Nas versões anteriores, nomes universais não eram visíveis na interface do usuário.)Note Beginning with Microsoft Visio 2000, you can use both local and universal names to refer to Visio shapes, masters, documents, pages, rows, add-ons, cells, hyperlinks, styles, fonts, master shortcuts, UI objects, and layers. When a user names a shape, for example, the user is specifying a local name. Beginning with Microsoft Office Visio 2003, the ShapeSheet spreadsheet displays only universal names in cell formulas and values. (In prior versions, universal names were not visible in the user interface.)

Como um desenvolvedor, você pode usar nomes universais em um programa, quando você não deseja alterar um nome de cada vez que uma solução está localizada. Para obter a cadeia de fórmula de uma célula na sintaxe local ou usar uma mistura de sintaxe universal e local para defini-la, use a propriedade Formula . Use a propriedade FormulaU para obter ou analisar uma fórmula em sintaxe universal. Quando você usa FormulaU , o ponto decimal é sempre ".", o delimitador é sempre",", e você deve usar as cadeias de caracteres de unidade universal (para obter detalhes sobre as cadeias de caracteres universais, consulteSobre unidades de medida).As a developer, you can use universal names in a program when you don't want to change a name each time a solution is localized. Use the Formula property to get a cell's formula string in local syntax or to use a mix of local and universal syntax to set it. Use the FormulaU property to get or parse a formula in universal syntax. When you use FormulaU , the decimal point is always ".", the delimiter is always ",", and you must use universal unit strings (for details on universal strings, seeAbout Units of Measure).

ExemploExample

Este Microsoft Visual Basic for Applications (VBA) macro mostra como usar a propriedade Formula para definir a fórmula de uma célula ShapeSheet. Ele desenha um retângulo em uma página e laços ou curvada as linhas do retângulo, alterando as linhas da forma arcos. Em seguida, ele desenha um retângulo interno dentro das bowed linhas do primeiro retângulo.This Microsoft Visual Basic for Applications (VBA) macro shows how to use the Formula property to set the formula for a ShapeSheet cell. It draws a rectangle on a page and bows, or curves the lines of the rectangle by changing the shape's lines to arcs. Then it draws an inner rectangle within the bowed lines of the first rectangle.


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
© 2018 Microsoft