Сегодня нам предстоит создать свою первую программу. Для этого мы познакомимся с объектно-ориентированной средой Visual Basic for Application (VBA)
Что надо знать:
Работа любой программы подразделяется на 3 этапа
- Ввод информации
- Обработка информации
- Вывод результатов
Ввод информации часто осуществляется с помощью клавиатуры и мыши.
Чтобы организовать взаимодействие человека и программы, используются разнообразные формы.
Примером таких форм служат диалоги в программах VBA
Начинаем работать
ПРИМЕР 1
Задание. Создать окно диалога, содержащее поле для ввода имени. После ввода имени программа должна выдавать окно, содержащее приветствие.
1 шаг
1. Запустить MS Excel 97
2. Выполнить команду меню Сервис – Макрос – Редактор VisualBasic и далее ВСТАВКА – UserForm
2 шаг
В созданном окне диалога мы размещаем элементы (окна), используя Панель элементов. Выбор объектов осуществляется с помощью левой кнопки мыши. Подобно рисованию квадратиков в Paint мы размещаем на форме необходимые нам элементы. Познакомьтесь с существующими элементами (Приложение №1).
Шаг 3.
Создадим форму (приложение 1), которая будет содержать 1 надпись , 1 поле для ввода текста, 2 кнопки
Шаг 4
Установим свойства объектов:
Объект | Свойства | Значение |
Label1 | Caption | Ведите своё имя |
CommandButton1 | Caption | Ввод |
CommandButton2 | Caption | Конец |
После этого форма примет следующий вид:
Шаг 5.
Два раза щелкнем левой кнопкой мыши по кнопке КОНЕЦ (т.е. мы назначаем этой кнопке процедуру). В появившемся окне увидим следующие строчки
Private Sub CommandButton2_Click()
End Sub
Таким образом, у нас уже есть начало процедуры, имя процедуры и конец процедуры.
Тело этой процедуры будет содержать только одну команду – End. Введите её между началом и концом процедуры. После этого процедура будет выглядеть так:
Private Sub CommandButton2_Click()
End
End Sub
Шаг 6
Кнопке ВВОД назначим процедуру
Private Sub CommandButton1_Click()
Dim Name As String
Name = TextBox1.Text
MsgBox "Привет " + Name
End Sub
Шаг 7
Запустим программу в окне отладчика клавишей F5 или кнопкой “Запуск подпрограммы” (рис.13)
Шаг 8.
Для запуска программы можно также создать командную кнопку на рабочем листе Excel, назначив ей соответствующий модуль. Для этого перейдем на рабочий лист и выполним следующие команды Вид – Панели инструментов – Формы
Воспользуемся уже изученным приемом и нарисуем на рабочем листе кнопку:
При этом сразу появится такое окно:
Щелкнем левой клавишей на кнопку СОЗДАТЬ и в появившемся окне назначим Кнопке1 соответствующую процедуру
Sub Кнопка1_Щелкнуть()
UserForm1.Show
End Sub
Теперь при нажатии на Кнопку 1 будет появляться окно нашей программы.
Шаг 9.
Сохраните эту рабочую книгу под своей фамилией в своей папке.
Задания для самостоятельной работы
1. Уровень сложности “Обычная работа”
Создать окно диалога, содержащее поле для ввода имени. После ввода имени программа должна выдавать окно, содержащее прощальные слова.
2. Уровень сложности “Хорошая работа”
Создать окно диалога, содержащее 2 поля для ввода имени и отчества. После ввода программа должна выдавать окно содержащее следующее приветствие “Привет, Имя ибн Отчество”
3. Уровень сложности “Отличная работа”
Создать окно диалога, содержащее 2 поля для ввода чисел. После ввода программа должна выдавать окно, сообщающее сумму двух чисел.
Приложение №1
Название элемента | Пиктограмма | Имя в программе | Назначение |
Надпись | Label | Используется для создания текстовых вставок в окне | |
Поле | TextBox | Используется для ввода – вывода текста | |
Рамка | Frame | Обеспечивает объединение нескольких элементов диалогового окна в группу | |
Кнопка | CommandBox | Командная кнопка, которой назначается процедура или макрос | |
Поле со списком | ComboBox | Представляет собой комбинацию выпадающего списка | |
Флажок | CheckBox | Обеспечивает аддитивный выбор значения. Свойство Value принимает значение True, если флажок выбран и False – в противном случае | |
Переключатель | OptionButton | Обеспечивает альтернативный выбор из списка взаимоисключающихся опций. Такие переключатели входят в состав группы, если они различны по значению. Выбор одного переключателя нутрии группы означает автоматический не выбор других. Свойство Value принимает значение True, если переключатель выбран и False - в противном случае. | |
Список | ListBox | Представляет собой окно, содержащее список значений. | |
Полоса прокрутки | ScrollBar | Создает горизонтальную или вертикальную линейку прокрутки. Свойство Value содержит число, соответствующее положению рисунка. Свойства Min и Max управляют диапазоном значений | |
Счетчик | SpinButton | Регулятор счетчика (спинер) аналогичен линейке прокрутки. |
Замечание. В программе все имена объектов имеют номер. Например, если создать в окне диалога флажок, то его имя в программе будет ChekBox1, а если мы в этой программе создадим ещё один флажок – то его имя будет ChekBox2, и т.д.