Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Форматирует строку или число в строку в соответствии с рисунком формата. Использует заданные единицы измерения для масштабирования и форматирования.
Синтаксис
выражение. 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 и обратная связь.