- •Л.В. Рыбакова Основы программирования в среде 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
- •Контрольные вопросы:
- •Список используемой литературы
- •Рыбакова Людмила Владимировна
1. Пользовательский интерфейс vba
1.1 Особенности среды программирования
Цель: знакомство с интегрированной средой программирования VBA.
По сравнению с предыдущими поколениями Бейсик-систем MS Visual Basic for Applications (VBA) имеет ряд принципиальных отличий. VBA - мощная система программирования, позволяющая быстро и эффективно создавать многофункциональные интегрированные офисные приложения для MS Windows 95/98-‘XP. Язык VBA – это подмножество Visual Basic (VB), которое включает почти все его средства создания приложений, структуры данных и управляющие структуры, возможность создания пользовательских типов данных.
VBA отличается от VB и прочих языков программирования в следующем:
- предоставляет возможность непосредственной работы с объектами MS Office. Это позволяет эффективно его использовать для автоматизации деятельности, связанной с обработкой различных типов документов.
- VBA позволяет существенно расширить вычислительные средства MS Office;
- с помощью VBA можно легко и быстро создавать различные приложения, даже не являясь программистом;
- VBA имеет графическую инструментальную среду, обеспечивающую конструирование экранных форм и управляющих элементов;
- с помощью VBA можно программировать собственные пользовательские функции, разрабатывать макросы, создавать пользовательские меню и многое другое;
- VBA позволяет с легкостью решать задачи, которые средствами обычных офисных приложений практически решить невозможно;
- VBA реализует концепцию визуального программирования, управляемого событиями. Этот язык помогает интегрировать офисные проекты в единое целое.
- VBA тесно связан с VB – компоненты, сконструированные на VB, легко используются в офисных приложениях, а VB-приложения посредством технологии Automation имеют доступ ко всем возможностям и средствам офисных приложений.
Поскольку система является «визуальной», программист (пользователь) может создавать видимую часть приложения Windows. Эта часть является основой интерфейса «программа-пользователь», с помощью которого осуществляется взаимодействие пользователя с программой. Разработка программного интерфейса осуществляется на принципах объектно-ориентированного подхода, реализованного в VBA применительно к приложениям, выполняемым под управлением Windows.
Для таких приложений характерным является существование на экране в любой момент времени множества объектов: окон, кнопок, меню, текстовых и диалоговых окон, линеек прокрутки и т.п. Пользователь имеет определенную свободу выбора в части использования этих объектов.
Для каждого объекта на экране существует ряд возможных событий. Одни из них производятся пользователем: щелчок по кнопке мыши, перетаскивание объекта, нажатие клавиши клавиатуры, ввод текста в окно и т.п.
Каждое событие проявляется в определенных действиях (откликах, реакции, поведении) программы. Эти действия можно разделить на две группы.
Первая является следствием свойств объекта. Эти свойства устанавливаются программистом из некоторого стандартного перечня свойств, заданного системой программирования VBA и самой системой Windows. Примером таких действий является свертывание окна после щелчка по кнопке <Свернуть>.
Вторая группа действий (отклика) на события полностью определяется программистом. Это обеспечивается возможностью задания процедуры VBA для каждого возможного для объекта события. Теоретически можно создать процедуру для любого события, но на практике программист заполняет кодом процедуры только для тех событий, которые в данной программе представляют интерес.
Таким образом, VBA предоставляет пользователю объектно-ориентированную среду программирования, основанную на событиях. Процесс разработки программы в этой среде сводится к выбору набора объектов и их свойств, заданию событий и процедур их обработки, которые в совокупности обеспечивают решение поставленной задачи.