Лабораторная работа № 1
Интегрированная среда разработки VBA
Цель:
Ознакомиться с основными окнами среды VBA и с процессом конструирования визуального проявления программы.
Результат обучения:
пользователь должен знать назначение окон: проекта программы, свойств объектов, формы, текста программы; уметь располагать компоненты на форме и придавать компонентам свойства и функциональность с помощью обработчика событий.
Среда VBA
Корпорация Microsoft интегрировала в свои офисные продукты язык программирования Visual Basic for Applications (VBA). С помощью этого языка каждый пользователь может автоматизировать работу приложения и максимально приспособить его работу для решения текущих задач.
Код VBA набирается в редакторе Visual Basic. Для того чтобы попасть в этот редактор, выберите в MS Excel команду Сервис | Макрос | Редактор Visual Basic или нажмите комбинацию клавиш <Alt> + <F11>. В результате — интегрированная среда разработки приложений (IDE).
Рисунок 1. Интегрированная среда разработки приложений (IDE).
Возвратиться из редактора Visual Basic и рабочую книгу можно, нажав кнопку с пиктограммой Excel.
Все приложения, написанные на VBA, создаются как проекты. В проект входят несколько файлов: код программы, файл с параметрами формы, файл конфигурации интегрированной среды разработки и другие.
Среда разработки приложений имеет стандартный для Windows–приложений вид: строка меню, панель инструментов и еще несколько открытых окон. На рисунке 1 открыты два окна: Project — VBA Project и Properties.
Окно Project — VBAProject активизируется выбором команды View | Project Explorer (1) или нажатием кнопки Project Explorer (2) панели инструментов. В окне Project — VBAProject представлена иерархическая структура файлов форм и модулей текущего проекта. В этом окне отображается реестр модулей и форм, входящих в создаваемый проект.
Двойным щелчком на значке модуля в окне Project — VBAProject можно открыть соответствующий модуль.
В проекте автоматически создается по модулю для каждого рабочего листа и для всей книги. Кроме того, можно создавать и другие модули.
Окно Properties активизируется выбором команды View | Properties Window (1) или нажатием кнопки Properties (2) панели инструментов.
Тренинг:
- Закройте окно Project — VBAProject и откройте первым способом.
- Закройте окно Project — VBAProject и откройте вторым способом.
- Откройте модули рабочего листа и всей книги и закройте их.
- Закройте окно Properties и откройте первым способом.
- Закройте окно Properties и откройте вторым способом.
В окне свойств перечисляются свойства выбранной формы или элемента управления. Используя это окно можно просматривать свойства и изменять их установки. Окно свойств состоит из двух составных частей: верхней и рабочей. В верхней части окна свойств располагается раскрывающийся список, из которого можно выбрать любой элемент управления текущей формы или саму форму. Рабочая часть окна свойств состоит из двух вкладок Alphabetic и Categorized, отображающих набор свойств в алфавитном порядке или по категориям. На обеих вкладках свойство Name (имя элемента управления) идет первым. Под этим именем элемент управления известен в программе. По умолчанию элементу присваивается имя с номером по порядку. Например, Label1, Label2, Label3 и так далее. Свойство Name можно изменить. Рекомендуется элементам управления давать имена со смыслом.
Изменяются значения свойств одним из следующих способов:
- вводом с клавиатуры значения свойства в соответствующее поле;
§ выбором из раскрывающего списка.
Тренинг:
- Просмотрите свойства формы, представленные в окне Properties.
- По умолчанию заголовок окна совпадает с заголовком формы: Form1. Измените свойство Caption с «Form1» на «Лабораторная работа № 1». Для этого щелкните мышью по строке Caption и в правой части измените текст заголовка.
В проект можно добавлять дополнительные объекты, например, модули и формы. Модуль — это просто объект, в котором хранится код программы с определением переменных, подпрограмм и функций.
Добавляя объекты формы можно создавать графический интерфейс пользователя, в частности диалоговые окна. Для добавления формы необходимо выполнить команду Insert | UserForm. В области разработки появится форма с панелью инструментов ToolBox.
Форма — Windows-окно на этапе разработки. Вначале окно формы содержит только стандартные для Windows интерфейсные элементы — кнопки вызова системного меню, максимизации, минимизации и закрытия окна, полосу заголовка и очерчивающую рамку. Для того, чтобы запустить приложение на выполнение, необходимо нажать клавишу F5 или использовать соответствующую пиктограмму. При нажатии кнопки F5 выполняются три этапа: компиляция, компоновка, исполнение программы.
Тренинг:
1. Визуально отметьте эти элементы на форме.
2. Осуществите прогон программы, нажав кнопку F5. На экране работающее приложение, представляющее собой пустое окно.
3. Закройте приложение.
Рисунок 2. Окно проекта с формой, панелью инструментов и окном кода.
Компоненты панели ToolBox размещаются на форме.
- Метки (Label) применяются для отображения текста, но не для ввода данных.
- Текстовые поля (TextBox) используются для отображения и ввода данных.
- Командные кнопки (CommandButton).
- Списки выбора (ListBox, ComboBox).
- И другие элементы пользовательского интерфейса.
Размещение нового управляющего элемента на форме осуществляется следующей последовательностью действий:
- Щелкните на значке того элемента, который собираетесь разместить на форме.
- Поместите указатель мыши на то место, где будет располагаться управляющий элемент.
- Нажмите левую кнопку мыши и, не отпуская ее, растяните появившийся прямоугольник до требуемых размеров.
- Отпустите кнопку мыши.
Для того чтобы убрать компонент с поверхности формы, необходимо выделить компонент и нажать клавишу Delete.
Тренинг:
1. Установите компоненты на форме.
2. Уберите компоненты с поверхности формы.
Пример разработки приложения
Построим приложение, в котором осуществим пересчет значений веса из граммов в фунты.
Разработка формы (рис.3):
1. Поместите на форму метку Label1. Компонент Label1 предназначен для вывода статического текста, например, для заголовков. Свойство Caption содержит текст, отображаемый в метке. Текст метки можно изменять в окне свойств или динамически в ходе программы. Установите свойство Caption равным «Введите значение веса в граммах».
2. Рядом поместите еще одну метку (Label2). Задайте свойству Caption значение «Результат».
3. Под первой меткой установите компонент TextBox1, под второй метку Label3, в которой очистите свойство Caption. Компонент TextBox представляет собой текстовое поле. Этот компонент имеет фокус ввода и, следовательно, может служить окном ввода данных.
4. Установите на форму компонент CommandButton. Этот компонент представляет собой командную кнопку. В графическом интерфейсе Windows командные кнопки связывают с определенными действиями. Измените свойство Caption для кнопки на «Расчет».
5. Измените шрифт текста в метках и на кнопке, воспользовавшись свойством Font каждого из компонентов. Измените цвет шрифта с помощью свойства ForeColor.
6. Запустите приложение на выполнение (F5).
Рисунок 3. Форма для общего примера.
В данном приложении расчет не выполняется. Для того, чтобы придать форме функциональность, необходимо написать код.
Написание кода:
Каждой форме соответствует окно кода, в котором записываются операторы программы. Текст программы составляется по специальным правилам и описывает алгоритм работы программы. Такая программа делает форму функциональной. Окно кода вызывается командой View | Code или функциональной клавишей F7.
1. Сделайте двойной щелчок по кнопке или нажмите F7.
- В окне кода в верхней части два выпадающих списка. В левом отображаются имена компонентов, установленных на форму. В правом — события, на которые может откликаться компонент. В окне кода имеется заготовка процедуры, которая будет выполняться при нажатии на кнопку (обработчик события). Событие Click (по щелчку) возникает в работающей программе при щелчке по кнопке мышью.
Private Sub CommandButton1_Click()
End Sub
В имени процедуры указаны имя компонента и событие, которое обрабатывается этим компонентом.
3. Чтобы вставить в окно новую строку (строки), нужно сначала с помощью клавиш курсора или щелкнув по окну мышью поставить текстовый указатель на нужное место, а затем с помощью клавиатуры внести текст. Между служебными словами Sub и End введите следующие операторы языка VBA:
x = Val(TextBox1.Text)
y = x / 400
Label3.Caption = Str(y) + " Фунт."
В первом операторе присваивания переменная Х принимает значение, введенное в окно редактора. Свойство Text компонента TextBox1 содержит то, что в ходе работы программы вводится в окно пользователем. Свойство Text строкового типа, поэтому необходимо преобразовать его в число (функция Val). Второй оператор присваивания — формула пересчета. Для отображения результата расчета используется свойство метки Caption. Функция Str преобразует число в строку. Строки можно складывать. В метке отобразится результат расчета и слово «Фунт.»
4. Осуществите прогон программы, нажав клавишу F5. Введите в окно редактора любое число, нажмите на кнопку «Расчет», и Вы получите результат в метке Label3.
Самостоятельная работа
Создайте приложение для пересчета из одной системы измерения в другую величины
№ п/п | Исходные данные |
1 вариант | давления по формуле: 1 мм. рт. ст. = 133 Па |
2 вариант | длины по формуле: 1 дюйм = 2.54 см |
3 вариант | объема по формуле: 1 бушель = 36.37 дм3 |
4 вариант | энергии по формуле: 1 калория = 4.19 дж |
5 вариант | длины по формуле: 1 ярд = 0.9144 м |
6 вариант | давления по формуле: 1 кгс*м2 = 9.81 Па |
7 вариант | длины по формуле: 1 косая сажень = 1.76 м |
8 вариант | объема по формуле: 1 пинта = 0.5683 дм3 |
9 вариант | энергии по формуле: 1 кгс*м = 9.81 дж |
10 вариант | длины по формуле: 1 верста = 500 сажень |
11 вариант | давления по формуле: 1 дин/см2 = 0.1Па |
12 вариант | объема по формуле: 1 галлон = 4.54 дм3 |
13 вариант | энергии по формуле: 1 эрг = 10-7 дж |
14 вариант | энергии по формуле: 1 ватт*час = 3.6*103дж |
При проектировании формы проявите фантазию и создайте индивидуальную конструкцию, используя те компоненты, с которыми Вы познакомились на этом занятии.
Сохраните документ в своем каталоге под именем Лаб1.
Контрольные вопросы
1. Для чего предназначено окно Project —VBAProject?
2. Какой командой активизируется окно Project — VBAProject?
3. Для чего предназначено окно Properties?
4. Какой командой активизируется окно Properties?
5. Как добавить к проекту окно Формы?
6. Как просмотреть код программы?
7. Как запустить программу на выполнение?
8. Как сделать приложение функциональным?
9. Что такое обработчик события?
10. Для чего предназначена панель ToolBox?
11. Для чего предназначены компоненты: Label, TextBox, CommandButton?
12. Что обозначает в программе свойство Name, и какому компоненту оно принадлежит?
13. Как изменить заголовок формы?
14. Можно ли изменить содержимое метки программным путем?
15. Что обозначает свойство Text, и какому компоненту оно принадлежит?
16. Какой функциональной клавишей можно вызвать окно кода?