Compartilhar via


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 Variant 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.
UnidadesIn Obrigatório Variant Unidades de medida para atribuir a StringOrNumber.
UnitsOut Obrigatório Variant 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. Também pode utilizar qualquer uma das constantes de unidade declaradas pela biblioteca de tipos do Visio no VisUnitCodes. Também está incluída uma lista de unidades válidas em Acerca das 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" avalia como 20 cm, o que não é escalar, pelo que UnitsIn é ignorada. A expressão "4 * 5" avalia como 20, que é escalar e é interpretada com a UnitsIn especificada.

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:

  • # - Produza um único dígito, mas não se for um 0 à esquerda ou à direita.

  • 0 - Produza um único dígito, mesmo que seja um 0 à esquerda ou à direita.

  • . - Marcador de posição decimal.

  • , - Separador de milhares.

  • "text" ou 'text' - Texto incluído de saída tal como está.

  • \c - Produza o caráter c.

Exemplo

Em que é especificada uma cadeia.

' 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 é especificado um 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") 


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.