Application.FormatResult - метод (Visio)

Форматирует строку или число в строку в соответствии с рисунком формата. Использует заданные единицы измерения для масштабирования и форматирования.

Синтаксис

выражение. FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
StringOrNumber Обязательный Variant Строка или число, которое нужно отформатировать; Может быть передан в виде строки, числа с плавающей запятой или целого числа.
Единицы В Обязательный Variant Единицы измерения, присваиваемые параметру StringOrNumber.
UnitOut Обязательный Variant Единицы измерения для выражения результата.
Format Обязательный String Изображение того, как должна выглядеть строка результата.

Возвращаемое значение

String

Примечания

Если значение передается как строка, оно может быть формулой или предполагаемой формулой ячейки либо результатом или предполагаемым результатом ячейки, выраженным в виде строки. Метод FormatResult оценивает строку и форматирует результат. Так как строка вычисляется вне контекста того, чтобы быть формулой конкретной ячейки, метод FormatResult возвращает ошибку, если строка содержит ссылки на ячейки.

Возможные значения для StringOrNumber :

  • 1.7
  • 3
  • "2.5"
  • "4,1 см"
  • "12 футов - 17 дюймов. + (12 см / SQRT(7))"

Аргументы UnitsIn и UnitsOut могут быть строками, например "inches", "inch", "in." или "i". Строки можно использовать для всех поддерживаемых единиц Microsoft Office Visio, таких как сантиметры, метры, мили и так далее. Также можно использовать любые константы единиц измерения, объявленные библиотекой типов Visio в VisUnitCodes. Список допустимых единиц также входит в раздел О единицах измерения.

Если StringOrNumber является строкой, UnitsIn указывает, как интерпретировать оцениваемый результат, и используется, только если результат является скаляром. Например, выражение "4 * 5 cm" вычисляется как 20 см, что не является скаляром, поэтому UnitIn игнорируется. Результатом выражения "4 * 5" является значение 20, которое является скаляром и интерпретируется с помощью указанного UnitsIn.

Аргумент UnitsOut задает единицы, в которых должна быть выражена возвращаемая строка. Если вы хотите, чтобы результаты были выражены в тех же единицах измерения, что и оцениваемое выражение, передайте "NOCAST" или "visNoCast".

Format — это строка, которая указывает шаблон или изображение строки, созданной методом FormatResult . Дополнительные сведения см. в разделе "Функция ФОРМАТ". Вот некоторые из возможных вариантов.

  • # - Выведите однозначную цифру, но не в начале или в конце 0.

  • 0 - Выведите однозначную цифру, даже если это начальный или конечный 0.

  • . - Десятичный заполнитель.

  • , - Разделитель тысяч.

  • "text" или '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 и обратная связь.