Partager via


Cell.FormulaU, propriété (Visio)

Récupère ou définit la formule de syntaxe universelle d'un objet Cell. Lecture-écriture.

Syntaxe

expression. FormulaU

Expression Variable qui représente un objet Cell .

Valeur renvoyée

Chaîne

Remarques

Si la formule d'une cellule est protégée par la fonction GUARD, utilisez la propriété FormulaForceU pour modifier la formule de la cellule.

Remarque

À partir de Microsoft Office Visio 2000, vous pouvez utiliser des noms locaux et universels pour vous reporter aux formes, formes de base, documents, pages, lignes, modules complémentaires, cellules, liens hypertexte, styles, polices, raccourcis de formes de base, objets UI et aux calques Visio. Lorsqu'un utilisateur nomme une forme, par exemple, il définit un nom local. À partir de Microsoft Office Visio 2003, la feuille de calcul ShapeSheet affiche uniquement les noms universels des formules et valeurs de cellules. (Dans les versions antérieures, les noms universels n’étaient pas visibles dans l’interface utilisateur.)

Si vous êtes développeur, vous pouvez utiliser les noms universels dans un programme lorsque vous ne voulez pas modifier un nom chaque fois qu'une solution est localisée. Utilisez la propriété Formula pour obtenir une chaîne de la formule de la cellule en syntaxe locale ou pour utiliser un mélange de syntaxe universelle et locale lors de sa définition. Utilisez la propriété FormulaU pour obtenir ou analyser une formule en syntaxe universelle. Lorsque vous utilisez FormulaU, la virgule décimale est toujours « , », le délimiteur est toujours « ; » et vous devez utiliser des chaînes d'unités universelles (pour plus de détails sur les chaînes universelles, reportez-vous à la rubrique À propos des unités de mesure).

Si votre solution Visual Studio inclut la référence Microsoft.Office.Interop.Visio , cette propriété correspond aux types suivants :

  • Microsoft.Office.Interop.Visio.IVCell.FormulaU

Exemple

Cette macro Microsoft Visual Basic pour Applications (VBA) indique comment utiliser la propriété FormulaU pour définir la formule pour une cellule de feuille ShapeSheet. Elle dessine un rectangle sur une page et courbe ses traits jusqu'à ce qu'ils deviennent des arcs. La macro dessine ensuite un rectangle à l'intérieur des traits courbés du premier rectangle.

 
Public Sub FormulaU_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.FormulaU = 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.FormulaU = "-" & 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.FormulaU = "Width * 0 + " & strBowCell  
    Set vsoCell = vsoShape.CellsSRC(intIndex, 1, 1)  
    vsoCell.FormulaU = "Height * 0 + " & strBowCell  
 
    'Draw the inner rectangle bottom line. 
    Set vsoCell = vsoShape.CellsSRC(intIndex, 2, 0)  
    vsoCell.FormulaU = "Width * 1 - " & strBowCell  
    Set vsoCell = vsoShape.CellsSRC(intIndex, 2, 1)  
    vsoCell.FormulaU = "Height * 0 + " & strBowCell  
 
    'Draw the inner rectangle right side line. 
    Set vsoCell = vsoShape.CellsSRC(intIndex, 3, 0)  
    vsoCell.FormulaU = "Width * 1 - " & strBowCell  
    Set vsoCell = vsoShape.CellsSRC(intIndex, 3, 1)  
    vsoCell.FormulaU = "Height * 1 - " & strBowCell  
 
    'Draw the inner rectangle top line. 
    Set vsoCell = vsoShape.CellsSRC(intIndex, 4, 0)  
    vsoCell.FormulaU = "Width * 0 + " & strBowCell  
    Set vsoCell = vsoShape.CellsSRC(intIndex, 4, 1)  
    vsoCell.FormulaU = "Height * 1 - " & strBowCell  
 
    'Draw the inner rectangle left side line. 
    Set vsoCell = vsoShape.CellsSRC(intIndex, 5, 0)  
    vsoCell.FormulaU = "Geometry2.X1"  
    Set vsoCell = vsoShape.CellsSRC(intIndex, 5, 1)  
    vsoCell.FormulaU = "Geometry2.Y1"  
 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.