Visio) (Application.FormatResult 方法

根据格式图片,将字符串或数字的格式设置为字符串。 使用指定的缩放和格式单位。

语法

表达式。FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
StringOrNumber 必需 Variant 要设置格式的字符串或数字;可以作为字符串、浮点数或整数来传递。
UnitsIn 必需 Variant StringOrNumber 的度量单位。
UnitsOut 必需 Variant 表示结果使用的度量单位。
Format 必需 String 结果字符串的实际外观的图片。

返回值

String

备注

如果以字符串形式传递,StringOrNumber 可能是单元格的公式或预期公式,或者是以字符串形式表示的单元格的结果或预期结果。 FormatResult 方法对字符串进行计算并设置结果的格式。 由于字符串是在特定单元格公式的上下文之外计算的,因此,如果字符串包含任何单元格引用,FormatResult 方法将返回错误。

StringOrNumber 的可能值包括:

  • 1.7
  • 3
  • "2.5"
  • "4.1 cm"
  • "12 ft - 17 in. + (12 cm / SQRT(7))"

UnitsIn 和 UnitsOut 参数可以是字符串,如“inches”、“inch”、“in.”或“i”。 字符串可以用于所有受支持的 Microsoft Office Visio 单位,如厘米、米、英里等。 还可以在 VisUnitCodes 中使用 Visio 类型库声明的任何单位常量。 有效单位列表也包含在“ 关于度量单位”中。

如果 StringOrNumber 是字符串,则 UnitsIn 指定如何解释计算结果,而且只有在结果为标量时才使用它。 例如,表达式 "4 * 5 cm" 计算结果为 20 cm,该值不是标量,因此忽略 UnitsIn 。 表达式 "4 * 5" 的计算结果为 20,这是一个标量,通过使用指定的 UnitsIn 进行解释。

UnitsOut 参数指定返回的字符串应该以哪种单位表示。 如果希望结果与计算的表达式使用相同的单位来表示,则传递“NOCAST”或 visNoCast。

Format 是指定由 FormatResult 方法产生的字符串的模板或图片的字符串。 有关详细信息,请参阅 FORMAT 函数。 一些可能的选项为:

  • # - 输出一个数字,但如果它是前导或尾随 0,则不输出。

  • 0 - 输出一个数字,即使它是前导或尾随 0。

  • . - 小数占位符。

  • , - 千位分隔符。

  • "text" or 'text' - 按原样输出封闭的文本。

  • \c - 输出字符 c。

示例

指定字符串的位置。

' 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") 

指定数字的位置。

' 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") 


下面的宏演示如何使用 FormatResult 方法将厘米值转换为英寸值并在消息框中显示结果。

 
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

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。