Share via


Cell.FormulaU-Eigenschaft (Visio)

Ruft die universelle Syntaxformel für ein Cell-Objekt ab oder legt sie fest. Lese-/Schreibzugriff.

Syntax

Ausdruck. FormulaU

Ausdruck Eine Variable, die ein Cell-Objekt darstellt.

Rückgabewert

Zeichenfolge

HinwBemerkungeneise

Wenn die Formel einer Zelle mit der GUARD-Funktion geschützt ist, müssen Sie zum Ändern der Formel die FormulaForceU-Eigenschaft verwenden.

Hinweis

Ab Microsoft Visio 2000 können Sie sowohl lokale als auch universelle Namen verwenden, um auf Shapes, Master-Shapes, Dokumente, Zeichenblätter, Zeilen, Add-Ons, Zellen, Hyperlinks, Formatvorlagen, Schriftarten, Master-Shape-Verknüpfungen, Benutzeroberflächenobjekte und Layer von Visio zu verweisen. Wenn ein Benutzer z. B. ein Shape verwendet, gibt er einen lokalen Namen an. Ab Microsoft Office Visio 2003 werden in der ShapeSheet-Kalkulationstabelle nur universelle Namen in Zellformeln und Werten angezeigt. (In früheren Versionen wurden universelle Namen in der Benutzeroberfläche nicht angezeigt.)

Als Entwickler können Sie universelle Namen in einem Programm verwenden, falls Sie einen Namen nicht jedes Mal ändern möchten, wenn eine Lösung lokalisiert wird. Verwenden Sie die Formula-Eigenschaft , um die Formelzeichenfolge einer Zelle in lokaler Syntax abzurufen oder eine Mischung aus lokaler und universeller Syntax zu verwenden, um sie festzulegen. Verwenden Sie die FormulaU-Eigenschaft , um eine Formel in universeller Syntax abzurufen oder zu analysieren. Wenn Sie FormulaU verwenden, ist das Dezimaltrennzeichen immer ".", das Trennzeichen ist immer ",", und Sie müssen universelle Einheitenzeichenfolgen verwenden (ausführliche Informationen zu universellen Zeichenfolgen finden Sie unter Informationen zu Maßeinheiten).

Wenn Ihre Visual Studio-Projektmappe den Verweis Microsoft.Office.Interop.Visio enthält, wird diese Eigenschaft den folgenden Typen zugeordnet:

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

Beispiel

Dieses VBA-Makro (Microsoft Visual Basic für Applikationen) veranschaulicht, wie Sie mit der FormulaU-Eigenschaft die Formel für eine ShapeSheet-Zelle festlegen. Es zeichnet ein Rechteck auf einem Zeichenblatt und biegt oder krümmt die Linien des Rechtecks, indem die Linien des Shapes in Bögen geändert werden. Anschließend zeichnet es ein inneres Rechteck, das innerhalb der gebogenen Linien des ersten Rechtecks liegt.

 
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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.