Compartir a través de


Método Application.FormatResult (Visio)

Convierte una cadena o número en una cadena de acuerdo con una imagen de formato. Utiliza las unidades especificadas para el ajuste de escala y el formato.

Sintaxis

expresión. FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
StringOrNumber Obligatorio Variant Cadena o número al que se va a dar formato; se puede pasar como una cadena, un número de punto flotante o un entero.
UnitsIn Obligatorio Variant Unidades de medida en que se supone que está StringOrNumber.
UnitsOut Obligatorio Variant Unidades de medida en las que se expresará el resultado.
Format Obligatorio String Imagen que muestra el aspecto que debería tener la cadena resultante.

Valor devuelto

Cadena

Comentarios

Si se pasa como cadena, StringOrNumber puede ser la fórmula o la posible fórmula de una celda, o el resultado o el posible resultado de una celda expresado en forma de cadena. El método FormatResult evalúa la cadena y da formato al resultado. Dado que la cadena se está evaluando fuera del contexto de fórmula de una celda determinada, el método FormatResult devuelve un error si la cadena contiene alguna referencia a celdas.

Algunos valores posibles para StringOrNumber son:

  • 1.7
  • 3
  • "2.5"
  • "4,1 cm"
  • "12 pies - 17 pulgadas. + (12 cm / SQRT(7))"

Los argumentos UnitsIn y UnitsOut pueden ser cadenas como "pulgadas", "pulgada", "in", o "i". Las cadenas se pueden usar para todas las unidades admitidas de Microsoft Office Visio, como centímetros, metros, millas, etc. También puede usar cualquiera de las constantes de unidad declaradas por la biblioteca de tipos de Visio en VisUnitCodes. También se incluye una lista de unidades válidas en Acerca de las unidades de medida.

Si StringOrNumber es una cadena, UnitsIn especifica cómo interpretar el resultado y sólo se usará si dicho resultado es un escalar. Por ejemplo, la expresión "4 * 5 cm" se evalúa como 20 cm, que no es escalar, por lo que UnitsIn se omite. La expresión "4 * 5" se evalúa como 20, que es escalar y se interpreta mediante el uso de unitsIn especificado.

El argumento UnitsOut especifica las unidades en las que se debe expresar la cadena devuelta. Si desea expresar el resultado en las mismas unidades que la expresión evaluada, pase "NOCAST" o visNoCast.

Format es una cadena que especifica una plantilla o imagen de la cadena producida por el método FormatResult. Para obtener más detalles, la función FORMAT. Algunas de las posibilidades son:

  • # - Genera un solo dígito, pero no si es un 0 inicial o final.

  • 0 - Genera un solo dígito, incluso si es un 0 inicial o final.

  • . - Marcador de posición decimal.

  • , - Separador de miles.

  • "text" o 'text' bien: salida de texto entrelazado tal como está.

  • \c - Salida del carácter c.

Ejemplo:

Donde se especifica una cadena.

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

Donde se especifica un número.

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


En la macro siguiente se muestra cómo utilizar el método FormatResult para convertir un valor de centímetros a pulgadas y mostrar el resultado en un cuadro de mensaje.

 
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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.