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