- •Информатика Сборник лабораторных работ по программированию в среде Visual Basic for Applications
- •Содержание
- •Введение
- •Лабораторная работа №1. Vba. Основные понятия. Среда разработки. Основы пРоГраммирования. Переменные
- •Среда программирования vba
- •Основы программирования на vba
- •Переменные
- •Математические операторы
- •Контрольные вопросы
- •Лабораторная работа №2. Диалоговые окна
- •Лабораторная работа № 3. Разветвляющиеся алгоритмы
- •1. Операторы условия if...Then
- •1.1 Строчный оператор If…Then…Else
- •1.2 Блочный условный оператор
- •1.3 Вложенные операторы If
- •1.4 Логические операции
- •2. Безусловный переход GoTo
- •3. Оператор выбора – переключатель
- •5. Задачи для самостоятельного решения!
- •Лабораторная работа № 4. Циклы со счетчиком
- •Лабораторная работа № 5. Циклы с условием
- •1. Циклы с предусловием
- •2. Цикл с постусловием
- •3. Цикл For Each … Next
- •4. Задания к лабораторной работе
- •5. Контрольные вопросы
- •Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.
- •Примеры создания программ для работы с объектами окна диалога
- •Кнопка на рабочем листе создается с помощью Панели инструментов Формы (Элементы управления). Макрос назначается двойным щелчком левой кнопки мыши или с помощью контекстного меню.
- •Варианты для самостоятельных работ:
- •Литература
Лабораторная работа №1. Vba. Основные понятия. Среда разработки. Основы пРоГраммирования. Переменные
Visual Basic for Application (Excel Visual Basic) – подмножество Visual Basic, которое включает почти все его средства создания приложений, структуры данных и управляющие структуры. VBA, как и VB, является языком визуального и событийно управляемого программирования (объектно – ориентированного) – в нем есть возможность создания форм со стандартным набором элементов управления и написания процедур, обрабатывающих события, которые возникают при действиях системы и пользователя. С другой стороны, VBA в Excel позволяет работать с набором объектов данного приложения– книгой, рабочими листами, диаграммами, ячейками и др. VBA позволяет существенно расширить вычислительные возможности Excel. VBA имеет графическую инструментальную среду, позволяющую создавать экранные формы и управляющие элементы. С его помощью можно создавать свои собственные функции для Excel, вызываемые мастером функций, разрабатывать макросы, создавать собственные меню и многое другое.
В основе объектно– ориентированного программирования, управляемого событиями, лежат понятия объект, свойство, метод, событие.
Здесь объектами являются элементы пользовательского интерфейса (кнопки, метки, текстовые окна, полосы прокрутки т.п.), которые создаются на форме пользователя или на рабочем листе, а также рабочая книга и ее элементы.
Свойства представляют собой характеристики объектов (размер шрифта, цвет, название и др.)
Метод – программные процедуры, изменяющие объект или его свойства, например, метод, позволяющий открыть книгу, хранящуюся в файле с заданным именем.
Событие представляет собой действие, распознаваемое объектом, например, щелчок по кнопке, перемещение мыши, для которого можно запрограммировать отклик.
Программирование на VBA состоит из двух этапов:
визуальное программирование (необязательно, его может и не быть);
само программирование (кодирование).
Визуальное программирование состоит в создании внешнего вида приложения (интерфейса пользователя) – создание объектов и задание им соответствующих свойств.
Само программирование на VBA, т.е. написание кода программы, заключается в двух понятиях: событие и отклик на него. Если пользователь производит какое-то воздействие на систему, допустим, щелкает по кнопке, тогда в качестве отклика выполняется код (программа) созданной пользователем процедуры. Этот специальный вид процедур, генерирующих отклик на события, называется процедурами обработки событий. Если такой отклик не создан (не написана соответствующая процедура), то система никак не будет реагировать на это событие. Таким образом, задачей пользователя является разработка программного кода процедур для обработки различных событий, необходимых для решения поставленной задачи.
Среда программирования vba
Программа на VBA называется проектом (Project). Проекты создаются с помощью среды разработки, создаваемой редактором Visual Basic. Для активизации редактора можно выполнить команду меню Excel: Сервис-Макрос-Редактор Visual Basic. После выполнения команды на экране появится главное окно редактора с надписью в заголовке Microsoft Visual Basic-Книга1.
Под заголовком располагается строка меню (аналогична другим программам Windows, но на английском языке. Часть меню - стандартная: File (Файл), Edit (Правка), View (Вид), Insert (Вставка), другая – Debug (Отладка), Run (Управление),... служит для программирования. Ниже располагается панель инструментов (обычно высвечивается стандартная панель, но можно подключать другие панели инструментов через меню View, а также их изменять).
В рабочей области основного окна находятся вспомогательные окна VBA. Их также можно вызывать по необходимости и убирать.
Окно проекта Project – VBA Project. Открывается командой Project Explorer (исследователь проекта). Окно показывает состав проекта, все объекты проекта. В окне имеются 2 кнопки: View Code и View Object для просмотра кода программы и объектов проекта.
Рис.1. Окно проекта
Окно формы UserForm1. (Открывается командой Insert-UserForm). Окно служит для визуального программирования, т.е. создания интерфейса пользователя. Форма может содержать меню, кнопки, полосы прокрутки и др. как в других приложениях Windows. В проекте может быть несколько форм.
Рис.2.
Окна для визуального программирования.
Окно элементов Toolbox (ящик инструментов). Открывается командой Toolbox. Данное окно служит для включения элементов (объектов) в форму: кнопок, меток и др. Для этого в окне элементов необходимо щелкнуть мышкой по соответствующему элементу. Далее перевести курсор в форму, нажать левую кнопку мыши и нарисовать данный элемент. Если щелкнуть по элементу (объекту) в форме, то он обрамляется рамкой и можно изменить его размеры и расположение.
Окно свойств Properties-UserForm1. Открывается командой Properties Window (окно свойств). Окно задает характеристики для каждого объекта в проекте: имя объекта, надписи, шрифт и др. Для каждого объекта свой набор свойств.
Окно просмотра объектов Object Browser. Окно служит для отображения объектов, свойств и команд приложений Windows.
Окно непосредственного выполнения Immediate. Окно служит для отладки приложений.
. Основные окна:
Project, UserForm, Toolbox, Properties. Размер и форма окон могут быть различными, их можно изменять, сворачивать и т.п. как в Windows.
В проекте автоматически создается модуль для каждого рабочего листа и для всей рабочей книги. Кроме того, модули создаются для каждой пользовательской формы и макросов. По назначению модули бывают двух типов – модули объектов и стандартные. К стандартным относятся модули, содержащие макросы или функции. Стандартные модули добавляются в проект командой меню Insert - Module. Стандартный модуль также может быть создан автоматически при записи макроса.
К модулям объектов относятся модули, связанные с рабочей книгой, рабочими листами и формами.
Окно редактирования кода (View Code) выполняет функции текстового редактора для ввода и изменения кода процедур и функций проекта. Открыть окно кода для соответствующего модуля можно, например, сделав двойной щелчок на выбранном модуле.
В верхней части окна редактирования кода размещены два раскрывающихся списка. Левый список содержит имена объектов, а правый содержит перечень событий, допустимых для объекта, выбранного в левом списке.
Редактор кода позволяет автоматизировать написание программных операторов, свойств и параметров, например, после набора имени объекта и знака (.) появляется список свойств данного объекта, из которого двойным щелчком можно выбрать нужное свойство, а также получить информацию о любом ключевом слове программы, установив на него курсор и нажав клавишу F1.
Из рис.1 видно, что проект VBA имеет иерархическую структуру и включает объекты Excel, формы и стандартные модули. Объектами Excel, входящими в проект, являются рабочие книги (WorkBooks), рабочие листы (WorkSheets), диаграммы (Charts). С каждым из этих объектов связан специальный модуль, в который может быть помещен программный код, выполняющий определенные действия.
В модулях могут быть размещены программные коды макросов, отдельно выполняемых процедур и функций. В модулях форм записываются коды процедур обработки событий формы и элементов управления, размещенных в ней. В модулях рабочих листов размещаются процедуры обработки событий рабочих листов.
Таким образом, проект включает две части: интерфейсную, т.е. видимую при выполнении программы, и программную, которая сосредоточена в различных модулях и реализует выполнение заданных действий.
Весь проект представляет собой один файл – рабочую книгу, и сохраняется вместе с ней.
