Лабораторная работа № 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.