Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.8 Mб
Скачать

Функция Format()

Функция Format позволяет представлять (форматировать) практически все типы данных (даты, числа, текст) в нужном нам виде. Это особенно важно, когда данные необходимо вывести на печать ( например, при выводе таблицы чисел, когда каждое из чисел должно иметь одинаковое число знаков после запятой и располагаться одно под другим).

Для управления функцией Функція Format используется одна строка – так называемый шаблон. Кроме стандартных, системных шаблонов, пользователь, при необходимости, может создавать свои.

Функция Format возвращает значение типа Variant (String), которое содержит выражение, отформатированное согласно спецификациям, заданным в описании шаблона.

Одна из возможных форм синтаксиса:

Format(выражение, “спецификация”).

Отметим, что в спецификации можно добавить любой символ, который затем будет выведен на печать.

Значения, которые может принимать спецификация, наведены в таблице

Символ

Описание

0

#

.

%

:

,

/

E+, E-, e+, e-

d, m, y h, m, s

Резервирует позицию цифрового разряда

Резервирует позицию цифрового разряда с подавлением незначащих нулей

Резервирует позицию знака, разделяющую дробную и целую часть числа

Резервирует процентное отображение числа

Разделяет часы, минуты, секунды в категории формату Time

Разделяет сотни от тысяч

Разделяет день, месяц, год категории формату Date

Разделяет мантиссу и порядок в экспоненциальном формате

Резервирует позицию при выводе дня, месяца, года в категории формата Date

Резервирует позицию при выводе часа, минуты, секунды в категории формата Time

Примеры:

Формат

Результат

Format(1.3^2, “##.###”)

Format(1.2^2, “##.000”)

Format(1.3^2, “##.###$”)

Format(Sin(1)*Exp(5), “#.###e+##”)

Format(Now, “hh:mm:ss”)

Format(Now, “dd/mm/yyyy”

1.69 (нет незначащего нуля)

1.440 (есть незначащий нуль)

1.69$

1.249e+2

20:57:13

20.09.2006

Отметим, что функция Now задаёт текущую дату.

Еще раз о функциях val, inputbox Функция Val()

Даная функция является функцией, которая преобразует текст в число (если такое возможно). Более точно функция val работает следующим образом: если в начале текста стоит некоторое число, то функция val игнорирует идущие впереди пробелы, преобразует нашу запись в число, которое стоит в начале текста. Остальные символы строки во внимание не принимаются. Если строка начинается не с числа, то функция val возвращает значение 0. Разделитель целой и дробной части точка, а не запятая!

Пример:

y = val („10 негретят”) ‘ y = 10

y = val („негретят 10”) ‘ y = 0

y = val („”) ‘ y = 0

y = val („-15,34”) ‘ y = -15

Функция InputBox().

При работе с функцией InputBox мы можем окончить ввод информации, нажав на кнопку «ОК» или «Отмена». Если мы нажимаем на клавишу «Отмена», то переменной в левой части равенства будет присвоена «пустая строка».

Функция MSGBOX().

Функция MSGBOX() аналогична по действию оператору MSGBOX, но её целесообразно использовать, когда пользователь должен принять какое-то решение в зависимости от появляющегося сообщения. Например:.

Для того, чтобы в окне сообщений появлялись кнопки необходимо дать информацию о них после выводимого сообщения. Одна из модификаций функции MSGBOX() имеет вид:

MSG BOX («сообщение», [«кнопки»], [«заголовок окна»])

Напомним, что символы [ ], используются, чтобы показать, что параметр необязательный.

Какие кнопки можно использовать?

Кнопка

Значение параметра

Константа VBA

OK

0

VBOKOnly

OK, Cancel (ОК, Отмена)

1

VBOKCancel

Abort, Retry и Ignore (Стоп Повтор Пропустить)

2

vb AbortRetryIgnore

Yes, No, Cancel (Да Нет Отмена)

3

vbYesNoCancel

Yes, No (Да Нет)

4

VBYesNo

Retry, Cancel (Повтор Отмена)

5

vbRetryCancel

В зависимости от того, какую из кнопок вы нажимаете, функция MSGBOX возвращает значения.

Кнопка

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

Константа VB

OK

1

vbOK

Cancel

2

vbCancel

Abort

3

vbAbort

Retry

4

vbRetry

Ignore

5

vbIgnore

YES

6

vbYes

No

7

vbNo

Отметим, что константы VB – это те же числа, что стоят во второй колонке. Ими удобнее пользоваться, т. к. из их вида понятно, какие кнопки имеются в виду.

Пример.

Y=MSG BOX(“окончить работу?”, VBYESNO)

Если нажимаем кнопку «ДА», то у = 6 (или у =VBYES).

Если «НЕТ», то у = 7 (или у = VBNO)

Для индикации произошедшего события в окне сообщений можно отобразить одну из пиктограмм:

, , ,

Для этого вместе с информацией о кнопках необходимо дать информацию о пиктограммах. Эта информация располагается в виде суммы констант или константы равной сумме соответствующих констант о кнопках и пиктограммах.

Значения параметра о пиктограммах в окне MsgBox

Константа

Значение

Знак сообщения

VbCritical

16

VbQuestion

32

VbExclamation

48

VbInformation

64

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]