Метод Application.FormatResult (Visio)
Форматирует строку или число в строку в соответствии с рисунком формата. Использует указанные единицы измерения для масштабирования и форматирования.
Синтаксис
expression. FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
StringOrNumber | Обязательный | Variant | Строка или число для форматирования; может передаваться в виде строки, числа с плавающей запятой или целого числа. |
UnitsIn | Обязательный | Variant | Единицы измерения для атрибута StringOrNumber. |
UnitsOut | Обязательный | Variant | Единицы измерения для выражения результата. |
Format | Обязательный | String | Изображение того, как должна выглядеть результющая строка. |
Возвращаемое значение
Строка
Замечания
При передаче в виде строки StringOrNumber может быть формулой или потенциальной формулой ячейки или результатом или потенциальным результатом ячейки, выраженным в виде строки. Метод 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 см, что не является скалярным, поэтому UnitsIn игнорируется. Выражение "4 * 5"
имеет значение 20, которое является скалярным и интерпретируется с помощью указанного элемента UnitsIn.
Аргумент UnitsOut указывает единицы измерения, в которых должна быть выражена возвращаемая строка. Если вы хотите, чтобы результаты были выражены в той же единице, что и вычисляемого выражения, передайте "NOCAST" или visNoCast.
Format — это строка, указывающая шаблон или рисунок строки, созданной методом FormatResult . Дополнительные сведения см. в функции FORMAT. Ниже приведены некоторые возможности.
#
— выводит однозначную цифру, но не, если она является начальным или конечным значением 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 и обратная связь.