Método Application.FormatResult (Visio)

Formata uma cadeia de caracteres ou um número de uma cadeia de caracteres de acordo com uma imagem de formato. Usa unidades especificadas para colocação em escala e formatação.

Sintaxe

expressão. FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)

expressão Uma variável que representa um Aplicativo objeto.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
StringOrNumber Obrigatório Variantes Sequência de caracteres ou número a ser formatado; pode ser passado como uma sequência de caracteres, número com ponto flutuante ou número inteiro.
UnitsIn Obrigatório Variantes Unidades de medida para atribuir a StringOrNumber.
UnitsOut Obrigatório Variantes Unidades de medida para expressar o resultado.
Format Obrigatório String Imagem da aparência que a sequência de caracteres resultante deve ter.

Valor de retorno

Cadeia de caracteres

Comentários

Se passado como uma sequência de caracteres, StringOrNumber deve ser a fórmula ou fórmula prospectiva de uma célula, ou o resultado ou resultado prospectivo de uma célula expresso como uma sequência de caracteres. O método FormatResult avalia a cadeia de caracteres e formata o resultado. Como a cadeia de caracteres está sendo avaliada fora do contexto de ser a fórmula de uma determinada célula, o método FormatResult retornará um erro se a cadeia de caracteres contiver qualquer referência a células.

Os valores possíveis de StringOrNumber incluem:

  • 1.7
  • 3
  • "2.5"
  • "4,1 cm"
  • "12 pés - 17 pol. + (12 cm / SQRT(7))"

Os argumentos UnitsIn e UnitsOut podem ser sequências de caracteres como "polegadas", "polegada", "pol." ou "p". As sequências de caracteres podem ser usadas para todas as unidades do Microsoft Office Visio com suporte, como centímetros, metros, milhas e assim por diante. Você também pode usar qualquer uma das constantes de unidade declaradas pela biblioteca de tipos do Visio no VisUnitCodes. Uma lista de unidades válidas também está incluída em Sobre unidades de medida.

Se StringOrNumber for uma sequência de caracteres, UnitsIn especificará como interpretar o resultado avaliado e será usado apenas se o resultado for escalar. Por exemplo, a expressão "4 * 5 cm" é avaliada como 20 cm, o que não é um escalar, portanto , UnitsIn é ignorado. A expressão "4 * 5" é avaliada como 20, que é um escalar e é interpretada usando o UnitsIn especificado.

O argumento UnitsOut especifica as unidades nas quais a sequência de caracteres retornada deve ser expressa. Se desejar que os resultados sejam expressos nas mesmas unidades que a expressão avaliada, passe "NOCAST" ou visNoCast.

Format é uma cadeia de caracteres que especifica um modelo ou uma imagem da cadeia de caracteres produzida pelo método FormatResult. Para obter detalhes, consulte a função FORMAT. Algumas possibilidades são:

  • # - Saída de um único dígito, mas não se for um 0 à frente ou à direita.

  • 0 - Saída de um único dígito, mesmo que seja um 0 à frente ou à direita.

  • . - Espaço reservado decimal.

  • , Milhares separadores.

  • "text" ou 'text' – Saída de texto fechado como está.

  • \c - Saída do caractere c.

Exemplo

Onde uma cadeia de caracteres é especificada.

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

Onde um número é especificado.

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


A macro a seguir mostra como usar o método FormatResult para converter um valor de centímetros em polegadas e exibir o resultado em uma caixa de mensagem.

 
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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.