- •Л.В. Рыбакова Основы программирования в среде Visual Basic for Application (vba)
- •Содержание
- •1. Пользовательский интерфейс vba 5
- •2. Разработка программного кода 18
- •3. Объектно-ориентированное программирование на vba 100
- •Введение
- •1. Пользовательский интерфейс vba
- •1.1 Особенности среды программирования
- •1.2 Запуск vba
- •1.3 Структура редактора Visual Basic
- •1.3.1 Окно проекта Project-vbaProject
- •1.3.2 Окно редактирования кода
- •1.3.3 Окно редактирования форм
- •1.3.4 Окно свойств “Properties”
- •1.3.5 Окно панели элементов управления (Toolbox)
- •Контрольные вопросы
- •2. Разработка программного кода
- •2.1 Структура проекта vba
- •2.2 Пользовательские подпрограммы-функции
- •2.3 Пользовательские подпрограммы-процедуры
- •2.4 Данные и их описание
- •2.4.1 Алфавит и лексемы языка
- •2.4.2 Переменные и константы
- •2.4.3 Объявление переменных
- •2.4.4 Объявление констант
- •2.4.5 Строковые переменные
- •2.4.6 Области видимости переменных и констант
- •2.4.7 Типы данных
- •2.5 Функции в vba
- •2.5.1 Математические встроенные функции
- •2.5.2 Математические функции, не представленные в vba
- •2.5.3 Функция форматирования данных
- •2.5.4 Функции преобразования типов
- •2.6 Операторы, выражения и операции
- •2.6.1 Операция присваивания
- •2.6.2 Математические операции
- •2.6.3 Операции отношения
- •2.6.4 Логические операции
- •2.6.5 Строковые операции
- •2.7 Отладка программ и обработка ошибочных ситуаций
- •2.7.1 Отладка
- •2.7.2 Точки останова (контрольные точки)
- •2.7.3 Наблюдение за данными с помощью просматриваемых значений
- •2.7.4 Пошаговое выполнение программы
- •2.7.5 Обработка ошибок
- •Программирование алгоритмов линейной структуры
- •2.8 Условный оператор
- •Программирование алгоритмов разветвляющейся структуры
- •2.9 Оператор выбора (переключатель)
- •Программирование алгоритмов ветвлений со многими вариантами
- •2.10 Операторы цикла
- •2.10.1 Циклы с параметром For … Next
- •2.10.2 Циклы с условием (итерационные)
- •Программирование алгоритмов циклической структуры
- •Варианты индивидуальных экономических задач
- •2.11 Табулирование функции
- •2.11.1 Табулирование функции одной переменной
- •2.11.2 Табулирование функции двух переменных (вложенные циклы)
- •Разработка процедур для табулирования функции
- •2.12 Массивы
- •2.12.1 Объявление массива
- •2.12.2 Динамические массивы
- •2.12.3 Действия над массивами
- •2.12.4 Действия над элементами массива
- •2.12.5 Формирование массива
- •2.12.6 Одномерные массивы
- •Создание процедур для обработки последовательности
- •2.12.7 Двумерные массивы. Вложенные циклы
- •Создание процедур для обработки табличных данных
- •Контрольные вопросы:
- •3. Объектно-ориентированное программирование на vba
- •3.1 Разработка программы создания приложения с помощью Форм
- •Разработка пользовательского приложения с помощью объектов Форм
- •3.2 Встроенные диалоговые окна в vba
- •3.2.1 Окна сообщений (MsgBox)
- •3.2.2 Окна ввода
- •Разработка проекта встроенных диалоговых окон в vba
- •Варианты индивидуальных заданий
- •3.3 Объекты формы в vba: кнопки-переключатели, контрольные индикаторы, рамки
- •Разработка пользовательского приложения с помощью объектов: кнопка-переключатель, контрольный индикатор, рамка
- •3.4 Объекты формы в vba: Полоса прокрутки и Счетчик
- •Разработка пользовательского приложения с помощью объектов: полоса прокрутки, счетчик
- •3.5 Интеграция приложений: ms Excel и ms Word
- •3.5.1 Открытие документа ms Word функцией Create Object
- •3.5.2 Открытие документа ms Word функцией GetObject
- •Интеграция популярных приложений, входящих в пакет ms Office
- •Контрольные вопросы:
- •Список используемой литературы
- •Рыбакова Людмила Владимировна
2.3 Пользовательские подпрограммы-процедуры
Зарезервированное слово Sub происходит от слова subroutine (подпрограмма), которое является синонимом термина процедура. Процедура представляет собой именованную часть кода, выполняющую определенные действия: вывод текста, выполнение арифметических действий, проигрывание видеофрагмента. Процедура может иметь параметры и в результате выполнения последовательности инструкций изменять их значения.
Синтаксис:
[Private | Public] Sub ИмяПроцедуры (СписокПараметров) As Тип
Тело процедуры (строки кода)
End Sub
2.4 Данные и их описание
2.4.1 Алфавит и лексемы языка
Алфавит VBA включает:
- прописные и строчные буквы латинского алфавита: А-Z, a-z;
- прописные и строчные буквы кириллицы: А-Я, а-я;
- цифры от 0-9;
- символ подчеркивания «_»;
- неизображаемые символы, используемые для отделения лексем друг от друга (пробел, табуляция, переход на новую строку);
- специальные символы, участвующие в построении конструкций языка:
+,-,*,/,\,^,=,>,<,[,],(,), . , : ,{,},’,@,&;
- составные символы, воспринимаемые как один символ: <=, >=, <>;
- комментарии, используемые для читаемости и понятности текста программы. Представляют собой последовательность любых символов, которая начинается со знака «’» (апостроф) или с ключевого слова Rem.
Пример.
‘ Это комментарий; Rem Это тоже комментарий
Программный код VBA представляет собой последовательность лексических единиц (лексем), записанных в соответствии с принятыми синтаксическими правилами.
Лексема – это минимальная неделимая единица текста программы, которая имеет определенный смысл для компилятора.
Различают шесть классов лексем:
- свободно выбираемые и используемые идентификаторы;
- служебные (зарезервированные) слова;
- константы;
- строки (строковые константы);
- операции (знаки операций);
- разделители (знаки пунктуации).
2.4.2 Переменные и константы
Переменная – это объект, занимаемый именованную область оперативной памяти. Содержимое этого объекта может изменяться в ходе выполнения программы.
Константа – это объект, значение которого фиксировано и не может быть изменено во время выполнения программы.
Идентификатор - это имя переменной, константы, процедуры, функции, и других объектов.
Правила написания идентификаторов:
1) в программе он должен быть уникальным, не должен совпадать с зарезервированными словами VBA;
2) он должен начинаться только с буквы;
3) он может состоять из букв, цифр и знака подчеркивания. Не допустимы - пробелы, точки, разделительных символов, знаков операций и др.спецсимволов. Прописные и строчные буквы различаются;
4) длина идентификатора может включать до 255 символов, но VBA учитывает только первый 31 символ;
5) они могут быть простыми и составными.
Пример
N, I, Number, Номер – простые имена переменных;
ФамилияСтудента – составное имя переменной.
Соглашения по стилю идентификаторов:
- лучше использовать имена из строчных букв, в случае составных названий нужно отделять друг от друга составляющие их слова подчеркиванием или начинать новое слово с прописной буквы;
- имена из прописных букв используются для определения констант;
- название идентификатора нужно начинать со специального знака (приставки или префикса), который указывает на тип данных, связанный с этим идентификатором.