- •Тема1. Введение в vba
- •Тема 2. Встроенные диалоговые окна.
- •Тема 3.Встроенные функции для обработки строк
- •Тема 4. Создание макросов с помощью макрорекордера.
- •Тема 5. Режим конструктора и элементы ActiveX
- •2. Элементы управления Надпись и Текстовое поле
- •Тема 10. Элементы управления Счётчик и Полоса прокрутки
- •Тема 11.Применение технологии при решении макроэкономических задач
- •Тема 7. Работа с изображениями.
- •Тема 8. Переключатели
- •Тема 9. Работа с диаграммами
Тема 2. Встроенные диалоговые окна.
В проекте VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода:
Окно сообщений MsgBox выводит простейшие сообщения для пользователей. Окно ввода InputBox - обеспечивает ввод информации.
Функция InputBox выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки: ОК и Cancel, устанавливает режим ожидания ввода текста пользователем и нажатия кнопки, а затем возвращает значение типа String в переменную (по нажатию кнопки ОК). При нажатии кнопки Cancel возвращает пустую строку (Empty).
Синтаксис: InputBox (P[,T] [,D] [,X][,Y] [,H,C]]
Здесь P – строковое выражение, отображаемое как сообщение в диалоговом окне, может содержать несколько строк. Допускается символ возврата каретки (chr(13)), символ перевода строки (chr(10)) или комбинация этих символов..
T – строковое выражение, отображаемое в строке заголовка диалогового окна.
D – строковое выражение, отображаемое в поле ввода как используемое по умолчанию. Если этот параметр опущен, то поле ввода изображается пустым.
X – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот параметр опущен, то поле ввода выравнивается по центру экрана по горизонтали.
Y – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот параметр опущен, то диалоговое окно помещается по вертикали примерно на одну треть высоты экрана.
H – Строковое значение, определяющее имя файла справки, содержащего сведения о данном диалоговом окне.
C – числовое выражение, определяющее номер раздела справочной системы.
Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщения, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer , указывающее, какая кнопка была нажата. Синтаксис:
MsgBox(P[,B] [,T] [,H,C])
Здесь P – строковое выражение, отображаемое как сообщение в диалоговом окне.
B – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. Значение по умолчанию этого параметра равняется 0.
T – строковое выражение, отображаемое в заголовке диалогового окна. Если этот параметр опущен, то в строку заголовка пишется имя приложения.
H и C аналогично тому, как в операторе InputBox.
Значения параметра В (Button) процедуры MsgBox, определяющие отображаемые кнопки в диалоговом окне.
Константа |
|
Отображаются кнопки |
vbOKOnly |
0 |
ОК |
vbOKCancel |
1 |
ОК, Отмена |
vbAbortRetryIgnore |
2 |
Стоп, Повтор, Пропустить |
vbYesNoCancel |
3 |
Да, Нет, Отмена |
vbYesNo |
4 |
Да, Нет |
vbRetryCancel |
5 |
Повтор, Отмена |
Таблица 3. . Значения параметра В (Button) процедуры MsgBox, определяющие отображаемые информационные значки в диалоговом окне.
Константа |
Значение |
Значок сообщения |
vbCritical |
16 |
|
vbQuestion |
32 |
? |
vbExclamation |
48 |
! |
vbInformation |
64 |
|
Таблица 4. Значения параметра В (Button) процедуры MsgBox, опре-деляющие основную кнопку диалоговом окне
Константа |
Значение |
Номер основной кнопки |
vbDefaultButton1 |
0 |
1 |
vbDefaultButton2 |
256 |
2 |
vbDefaultButton3 |
512 |
3 |
vbDefaultButton4 |
768 |
4 |
Таблица 5. Значения, возвращаемые функцией MsgBox
Константа |
Значение |
Кнопка |
vbOK |
1 |
OK |
vbCancel |
2 |
Отмена (Cancel) |
vbAbort |
3 |
Прервать (Abort) |
vbRetry |
4 |
Повторить (Retry) |
vbIgnore |
5 |
Пропустить (Ignore) |
vbYes |
6 |
Да (Yes) |
vbNo |
7 |
Нет (No) |
Оператор MsgBox удобен для вывода информации. Если требуется узнать, какое данное ввёл пользователь, то надо какой- либо переменной присвоить значение, возвращаемое MsgBox, а её параметры заключить в скобки.
Лабораторная работа 2. Использование процедур и операторов ввода и вывода.
Пример1. Компьютер спрашивает у пользователя, закончить ли счёт и отвечает или До свидания или Продолжим работу. Набираем в поле модуля код:
Листинг 1. Знакомство с оператором MsgBox.
Запускаем код на выполнение (Кнопка ► или пункт меню RUN).
Пример 2. Компьютер запрашивает информацию о пользователе и выдаёт некоторые сообщения.
Листинг 2. Процедуры Znakomstvo и Prodoljim.
В этой программе показано, как из одной процедуры происходит обращение к другой процедуре. Первая процедура называется Znakomstvo, а вторая процедура нызавается Prodoljim. Обращение из первой процедуры ко второй Prodoljim name, т.е. параметр name при обращении пишется без скобок.
В VBA предусмотрен объект Debug, который представляет отладчик и позволяет выводить данные в окно Immediate, вызываемое командой View/ Immediate/Window(или сочетанием клавиш Ctrl+G). Чтобы вывести значения в окно Immediate, надо использовать метод Print объекта Debug с указанием в качестве параметров имена требуемых переменных (константы и переменные можно перечислять через запятую). Если требуется, чтобы несколько операторов Debug выводило информацию на одной строке, то в конце оператора ставят точку с запятой.
Примеры.
Debug.Print a,b;
Debug.Print с,d
Значения переменных a, b ,c ,d будут напечатаны в окне Immediate в одной строке.
Листинг с работой оператора Debug:
Здесь в операторе Debug.Print используется знак &, который объединяет текст “ a(1) = “ и значение a(1).
Самостоятельная работа 2.
Задание1. Напечатать таблицу умножения чисел от 2 до 10.
Задание 2. Задан массив из чисел. Упорядочить элементы массива в порядке возрастания.
Задание 3. В столбце А имеются фамилии студентов группы. Упорядочить фамилии по алфавиту.
