- •1.Введение в программирование на vba Понятие объекта
- •Среда программирования
- •Типы данных
- •Переменные
- •Стандартные элементы управления. Объект Форма(UserForm) и элемент Кнопка(CommandButton)
- •Элемент Кнопка
- •Стандартные окна ввода и вывода сообщений
- •Окно сообщения
- •Окно ввода
- •Практические задания Задание 1.1
- •Задание 1.2
- •Задание 1.3
- •Задание 1.4
- •2.Реализация линейных алгоритмов Программирование арифметических выражений
- •Математические операции
- •Стандартные математические функции
- •Элементы Надпись(Label) и Поле(TextBox) Элемент Поле
- •Элемент Надпись
- •Практические задания Задание 2.1
- •Задание 2.2
- •Задание 2.3
- •3.Реализация алгоритмов с условиями Программирование условий Операторы сравнения
- •Логические операции
- •Инструкция If…Then…Else
- •Инструкция Select Case
- •Функции, используемые при программировании условий
- •Элементы Рисунок(Image), Счетчик и Полоса прокрутки(ScrollBar) Элемент Рисунок
- •Элемент Счетчик
- •Элемент Полоса прокрутки
- •Практические задания Задание 3.1
- •Задание 3.2
- •З адание 3.3
- •4.Реализация циклических алгоритмов Программирование циклов Цикл For…Next
- •Цикл Do While…Loop / Do…Loop While
- •Цикл Do Until...Loop / Do…Loop Until
- •Практические задания Задание 4.1
- •Задание 4.2
- •5.Использование процедур и функций в программах на vba Процедуры и функции
- •Элементы Рамка(Frame), Флажок(CheckBox), Переключатель(OptionButton), Выключатель(ToggleButton) Элемент Рамка
- •Элемент Флажок
- •Элемент Выключатель
- •Элемент Переключатель
- •Практические задания Задание 5.1
- •6.Использование структурированных типов данных на примере массивов Понятие массива. Работа с массивами
- •Практические задания Задание 6.1
- •Практические задания Задание 7.1
- •Задание 7.2
- •Задание 7.3
- •Задание 7.4
- •Задание 7.5
- •Задание 7.6
- •Задание 7.7
- •Задание 7.8
- •8.Работа с макросами в ms Excel Основные объекты ms Excel
- •Понятие макроса. Создание, редактирование, выполнение макросов
- •Цикл For Each
- •Инструкция With
- •Практические задания Задание 8.1
- •Задание 8.2
- •Задание 8.3
- •9.Создание приложений, управляемых с помощью диалоговых окон Элементы Поле со списком (ComboBox), Список (ListBox)
- •Практические задания Задание 9.1
- •Задание 9.2
- •10.Рекомендуемая литература
5.Использование процедур и функций в программах на vba Процедуры и функции
В VBA имеются следующие виды процедур: обычные процедуры, функции, процедуры – обработчики событий. Для объявления процедуры используют следующий синтаксис:
[Private/Public] [Static] Sub Имя [(Параметры)]
[Инструкции]
[Exit Sub]
[Инструкции]
End Sub
Синтаксис объявления функции выглядит несколько иначе:
[Private/Public] [Static] Function Имя [(Параметры)] [As Тип]
[Инструкции]
[Имя = Выражение]
[Exit Function]
[Инструкции]
[Имя = Выражение]
End Function
С помощью слова Public объявляют процедуру или функцию, которая будет доступна во всех модулях. Если требуется, чтобы процедура или функция была доступна только в пределах того модуля, где она объявлена, то используют Private. Если при объявлении процедуры или функции использовано Static, то все объявленные внутри нее переменные сохраняются в промежутках времени между вызовами этой процедуры
В теле функции обязательно должен быть оператор, присваивающий значение имени функции.
Для досрочного выхода из процедуры используется оператор Exit Sub, для досрочного выхода из функции – оператор Exit Function.
Процедуры и функции не могут быть вложенными, т.е. нельзя объявить процедуру или функцию внутри процедуры или функции.
Для создания заготовки процедуры удобно использовать команду Вставка\Процедура.
Процедуры и функции могут принимать и изменять параметры. Тип параметра определяется с помощью ключевых слов ByVal и ByRef (по умолчанию). При использовании ByVal в процедуру передается значение параметра, при использовании ByRef - передается адрес параметра. Чтобы определить параметры как необязательные, можно использовать ключевое слово Optional.
Вызвать процедуру Sub можно, указав ее имя и значения параметров или применив оператор Call. Если используется оператор Call, список параметров следует заключить в круглые скобки. Если Call опускается, опустить нужно также скобки вокруг списка параметров.
Если требуется сохранить возвращаемое значение, при вызове функции необходимо использовать круглые скобки. Если круглые скобки опущены, возвращаемое значение функции можно игнорировать или не сохранять его в переменной. Это может быть полезно, если требуется лишь выполнить обработку, связанную с функцией.
Элементы Рамка(Frame), Флажок(CheckBox), Переключатель(OptionButton), Выключатель(ToggleButton) Элемент Рамка
Элемент Рамка (Frame) используется в приложениях для создания визуальных или функциональных групп элементов, чаще всего переключателей и флажков. Он относится к элементам – контейнерам, то есть к элементам, содержащим другие элементы. Например, поместим кнопку в элемент Рамка. Тогда кнопка прикрепляется к краям рамки. Кнопка будет перемещаться, когда перемещается рамка, а свойства Top и Left кнопки будут определены относительно рамки. Удаляя контейнер, вы удаляете и все элементы, содержащиеся в нем. Создавая группу элементов, сначала поместите в форму элемент Рамка, а потом – необходимые элементы.
Основным свойством элемента Рамка является Caption. Оно содержит текст, который выводится в левом верхнем углу рамки и обычно является названием группы элементов.