Application.FormatResult-Methode (Visio)

Formatiert entsprechend eines Bildformats eine Zeichenfolge oder eine Zahl in eine Zeichenfolge. Verwendet angegebene Einheiten für die Skalierung und Formatierung.

Syntax

Ausdruck. FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
StringOrNumber Erforderlich Variant Eine Zeichenfolge oder eine Zahl, die formatiert werden soll. Der Wert kann als Zeichenfolge, Fließkommazahl oder ganze Zahl übergeben werden.
UnitsIn Erforderlich Variant Maßeinheiten als Attribute für StringOrNumber.
UnitsOut Erforderlich Variant Maßeinheiten, in denen das Ergebnis ausgedrückt werden soll.
Format Erforderlich String Angabe, wie die resultierende Zeichenfolge aussehen soll.

Rückgabewert

Zeichenfolge

HinwBemerkungeneise

Wenn string als Zeichenfolge übergeben wird, kann StringOrNumber die Formel oder prospektive Formel einer Zelle oder das Ergebnis oder das prospektive Ergebnis einer Zelle sein, die als Zeichenfolge ausgedrückt wird. Die FormatResult-Methode wertet die Zeichenfolge aus und formatiert das Ergebnis. Da die Zeichenfolge außerhalb des Kontexts ausgewertet wird, in dem es sich um die Formel einer bestimmten Zelle handelt, gibt die FormatResult-Methode einen Fehler zurück, wenn die Zeichenfolge Zellbezüge enthält.

StringOrNumber kann u. a. die folgenden Werte aufweisen:

  • 1.7
  • 3
  • "2.5"
  • "4,1 cm"
  • "12 ft - 17 in. + (12 cm / WURZEL(7))"

Die Argumente UnitsIn und UnitsOut können Zeichenfolgen wie "inches", "inch", "in." oder "i" sein. Zeichenfolgen können für alle unterstützten Microsoft Office Visio-Einheiten wie Zentimeter, Meter, Meilen usw. verwendet werden. Sie können auch jede der Einheitenkonstanten verwenden, die von der Visio-Typbibliothek in VisUnitCodes deklariert werden. Eine Liste der gültigen Einheiten ist auch in About-Maßeinheiten enthalten.

Wenn StringOrNumber eine Zeichenfolge ist, gibt UnitsIn an, wie das ausgewertete Ergebnis interpretiert werden soll, und wird nur verwendet, wenn das Ergebnis ein Skalar ist. Der Ausdruck "4 * 5 cm" ergibt z. B. 20 cm, was kein Skalar ist, sodass UnitsIn ignoriert wird. Der Ausdruck "4 * 5" ergibt 20, was ein Skalar ist und mit dem angegebenen UnitsIn interpretiert wird.

Das UnitsOut-Argument gibt die Einheiten an, in denen die zurückgegebene Zeichenfolge ausgedrückt werden soll. Wenn die Ergebnisse in den gleichen Einheiten wie der ausgewertete Ausdruck ausgedrückt werden sollen, übergeben Sie "NOCAST" oder visNoCast.

Format ist eine Zeichenfolge, die eine Vorlage oder ein Bild der von der FormatResult-Methode erzeugten Zeichenfolge angibt. Weitere Informationen finden Sie in der FORMAT-Funktion. Einige der Möglichkeiten sind:

  • # – Gibt eine einzelne Ziffer aus, aber nicht, wenn es sich um eine führende oder nachfolgende 0 handelt.

  • 0 – Gibt eine einzelne Ziffer aus, auch wenn es sich um eine führende oder nachfolgende 0 handelt.

  • . – Dezimalplatzhalter.

  • , – Tausendertrennzeichen.

  • "text" oder 'text' – Gibt den eingeschlossenen Text unverändert aus.

  • \c – Gibt das Zeichen c aus.

Beispiel

Hier wird eine Zeichenfolge angegeben.

' Prints 1.00 
Debug.Print Application.FormatResult("0.5 * 2", "ft", "ft", "#.00 u") 
 
' Prints 12.00 in. 
Debug.Print Application.FormatResult("0.5 * 2", "ft", "in", "#.00 u") 
 
' Prints .39 in. 
Debug.Print Application.FormatResult("1 cm", "ft", "in", "#.00 u") 
 
' Prints 1.00 cm. 
Debug.Print Application.FormatResult("1 cm", "ft", "NOCAST", "#.00 u") 
 
' Prints 0.39 
Debug.Print Application.FormatResult("1 cm", "ft", "", "0.00 u") 
 
' Prints 1858.06 sq. cm. 
Debug.Print Application.FormatResult("1 sq. ft. * 2", "in^2", "cm^2", "0.00 u") 
 
' Throws an exception because of bad measurement unit ("bz") 
Debug.Print Application.FormatResult("1 cm", "ft", "bz", "#.00 u") 

Hier wird eine Zahl angegeben.

' Prints 1.00 
Debug.Print Application.FormatResult(1, "ft", "ft", "#.00 u") 
 
' Prints 12.00 in. 
Debug.Print Application.FormatResult(1, "ft", "in", "#.00 u") 
 
' Prints .08 ft. 
Debug.Print Application.FormatResult(1.0, "in", "ft", "#.00 u") 
 
' Prints 12.00 
Debug.Print Application.FormatResult(1.0, visFeet, "", "#.00 u") 
 
' Throws an exception because of bad measurement unit ("bz") 
Debug.Print Application.FormatResult(1, "bz", "in", "#.00 u") 


Mit dem folgenden Makro wird gezeigt, wie mit der FormatResult-Methode ein Wert von Zentimetern in Zoll umgewandelt wird. Das Ergebnis wird dann in einem Meldungsfeld angegeben.

 
Public Sub FormatResult_Example() 
 
 Dim strOldValue As String 
 Dim strNewValue As String 
 
 'Set old value. 
 strOldValue = "1 cm" 
 
 'Format value. 
 strNewValue = Application.FormatResult _ 
 (strOldValue, "ft", "in", "#.00 u") 
 
 'Display new value. 
 MsgBox (strNewValue) 
 
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.