Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие студентам.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.13 Mб
Скачать

Тема 4.5. Разработка макросов на языке Visual Basic For Applications

4.5.1.Понятие макросов и элементов управления

Как уже отмечалось, в основе объектно ориентированного программирования лежит идея «упакованной функциональности». Прикладная программа строится из объектов, которым назначаются определенные свойства и операции, которые эти объекты могут выполнять.

На идеях и принципах объектно ориентированного программирования развивается новый вид программирования – офисное программирование.

Офисное программирование реализовано в пакетах MS Office с помощью языка Visual Basic for Application (VBA). Этот язык является подмножеством языка Visual Basic и во многом реализует его возможности.

В VBA используется технология визуального программирования . Основной задачей офисного программирования является создание документа Word, Excel и т.д. При этом документ является объектом, объединяющим некоторую совокупность структурированных данных и программ, обрабатывающих эти данные. Проект в этом случае является частью документа, образует с ним единое целое.

При работе в MS Office пользователю предоставляются следующие средства программирования:

  • Мощная интегрированная среда.

  • Язык программирования VBA.

  • Макрорекордер.

Интегрированная среда состоит из следующих компонентов(рис.4.5.1):

      • Редактор текстов программ.

      • Система меню.

      • Панель инструментов.

      • Окно проекта.

      • Окно редактирования кода.

      • Свойства объектов.

Рис. 4.5.1. Основные компоненты среды VBA.

Интерфейс приложений организуется таким образом, что пользователь перемещает по экрану объекты, меняет их размеры и свойства, выбирает команды меню и т.д. Для упрощения выполнения рутинных операций и автоматизации процесса многократного выполнения одинаковой последовательности определенных действий в системе используются макросы.

Макрос – это программа на языке VBA, которая представляет собой трансляцию действий пользователя.

Для создания макроса необходимо запустить макрорекордер, который переводит все действия пользователя на язык VBA. Макрорекордер можно использовать для создания макросов только в приложениях Word и Excel, но сами макросы можно использовать и в других приложениях MS Office.

Для запуска макрорекордера необходимо в меню документа Word или Excel выбрать команду Сервис – Макрос, а затем Начать запись.

На экране появится диалоговое окно Запись макроса (рис.4.5.2).

Рис. 4.5.2. Диалоговое окно Запись макроса.

В этом окне пользователь может задать имя макроса, назначить макросу кнопку на панели инструментов и комбинацию клавиш для оперативного запуска макроса. Здесь же выбирается вариант доступа к макросу: либо во всех документах, либо только в разрабатываемом документе.

После создания макрос можно редактировать, используя редактор VBA.

Для этого необходимо выполнить команду Сервис – Макрос Макросы , выбрать из списка нужный макрос и нажать кнопку Изменить.

4.5.2.Лексика языка программирования Visual Basic For Applications

Для программирования в MS Office используется процедурный язык Visual Basic с добавлением объектных расширений.

Как и во всех языках программирования при выполнении вычислений результаты сохраняются в переменных. В VBA различают два вида переменных: простые и сложные. Простые переменные хранят неделимые значения данных, сложные переменные содержат структурированные данные.

Значения, которые в течение работы приложения остаются постоянными хранятся в константах.

Для получения искомых значений используются выражения, которые состоят из операндов (константы, переменные и функции), объединенных некоторыми операциями.

В VBA различают следующие типы операторов:

  • Операторы объявления – служат для объявления констант, переменных и процедур.

  • Операторы присваивания –служат для присвоения результатов вычислений переменным или константам.

  • Операторы управления – служат для управления ходом выполнения программы.

Из сочетаний операторов формируются процедуры. В VBA есть два типа процедур:

        • процедуры – функции, или просто функции;

        • процедуры – подпрограммы.

Функция может выполняться из любого места программы и возвращает одно значение.

Подпрограмма выполняется только при вызове из функции или из другой подпрограммы и значений не возвращает.

Алфавит языка VBA аналогичен алфавиту языка VB, поэтому для уточнения этого вопроса можно обратиться к теме 4.4.

Единицей текста программы, имеющей определенный смысл, является лексема.

В VBA различают следующие классы лексем:

    • свободно выбираемые идентификаторы;

    • служебные (зарезервированные) слова;

    • константы;

    • строки;

    • знаки операций;

    • разделители.

Переменные в программе перед их использованием необходимо объявить и присвоить им некоторое значение. При объявлении переменной ей присваивается уникальное имя и указывается ее тип. Объявляется переменная так же, как и переменные VB:

Dim <имя переменной> As <тип переменной>

Две группы типов данных различают в VBA: основные, или базовые и определяемые пользователем.

Базовые типы данных совпадают с аналогичными типами VB.

Типы данных, определяемые пользователем, создаются посредством следующей конструкции:

Type <Имя>

<Переменная 1> As <Тип 1>

<Переменная 2> As <Тип 2>

<Переменная 3> As <Тип 3>

End Type

Программный оператор VBA может представлять собой любую комбинацию ключевых слов, переменных, свойств, функций, операций и символов, совокупность которых представляет собой некоторую конструкцию.

Для записи формул применяются математические операции. К ним относятся основные математические операции: сложение, вычитание, умножение и деление и дополнительные: изменение знака числа, возведение в степень, целая часть от деления, остаток от деления.

Для записи выражений условия, результатом выполнения которых являются значения True и False, применяются операции отношения. К этим операциям относятся операции: равно, не равно, больше, меньше, меньше или равно, больше или равно, соответствие маске.

В операциях отношений может быть несколько условий выбора. Тогда эти условия связываются между собой с помощью логических операций.

В VBA применяются следующие операции отношений: And, Or, Not и Xor.

Управление работой программы осуществляется с помощью операторов управления, к которым относятся:

  • операторы передачи управления;

  • операторы выбора;

  • операторы цикла.

Операторы передачи управления применяются для выполнения безусловного перехода с одной позиции программы к другой.

Оператор безусловного перехода:

Go To <метка>

Операторы выбора используются в программе для изменения хода выполнения программы в зависимости от некоторого условия. В качестве операторов выбора применяются два типа: операторы условия If…Then и переключатели Select Case, основные конструкции которых уже были рассмотрены ранее.

Операторы циклов – операторы, обеспечивающие многократное выполнение отдельных фрагментов программы. В VBA существует два основных типа циклов: циклы со счетчиком и циклы с условием.

К ним относятся уже рассмотренные циклы For…Next и Do…Loop.