Метод Application.FormatResultEx (Visio)

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

Синтаксис

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

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

Параметры

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

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

String

Примечания

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

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

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

Если UnitsIn имеет значение visDate, можно передать числовое значение в функцию DATETIME в StringOrNumber. Целая часть переданного значения должна представлять количество дней с 30 декабря 1899 г., а десятичная часть должна представлять долю суток после полуночи. Например, 38135.50 соответствует полудню 28 мая 2004 года.

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

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

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

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

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

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

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

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

  • "text" или 'text' - Вывод вложенного текста без изменений.

  • \c - Выведите символ c.

Если UnitsIn имеет значение visDate, Format должен быть одним из пользовательских форматов даты и времени расширенной формы Microsoft Visio в формате "{{date/time format picture}}". Эти форматы можно просмотреть в поле "Пользовательский формат " диалогового окна "Формат данных " в Visio (выберите фигуру, а затем на вкладке "Вставка " выберите "Поле"). В списке "Категория" выберите "Дата и время", а затем " Формат данных".

Аргумент LangID является необязательным. Если значение не указано, Visio использует текущий системный язык. Если вы передаете значение, аргумент LangID должен быть одним из стандартных идентификаторов, используемых Windows для кодирования разных языковых версий. Например, 1033 — это идентификатор языка для английского языка (США). Список возможных идентификаторов языков см. в статье Константы и строки идентификаторов языка.

Аргумент CalendarID должен быть одним из следующих значений, объявленных в VisCellVals в библиотеке типов Visio. Значением по умолчанию является западный календарь visCalWestern.

Константа Значение Описание
visCalWestern 0 Вестерн
visCalArabicHijri 1 Арабский хидзири
visCalHebrewLunar 2 Иврит Лунный
visCalChineseTaiwan 3 Taiwan Calendar
visCalJapaneseEmperor 4 Правление японского императора
visCalThaiBuddhism 5 Тайский буддист
visCalKoreanDanki 6 Корейский Danki
visCalSakaEra 7 Эра Сака
visCalTranslitEnglish 8 Английский транслитерация
visCalTranslitFrench 9 Французская транслитерация

Пример

В следующем примере показано, как использовать свойство FormatResultEx для форматирования даты на греческом языке и отображения ее в виде текста фигуры.

Public Sub FormatResultEx_Example 
 
 Dim vsoShape As Visio.Shape 
 Dim strDate As String 
 
 Set vsoShape = ActivePage.DrawOval (3, 5, 5, 9) 
 strDate = Application.FormatResultEx (37663.50, visDate, "", "{{dd MMMM yyyy}}", 1032, 0) 
 
 vsoShape.Text = strDate 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.