Тема 1 Введение в Visual Basic для приложений

advertisement
Лекция 1 Введение в Visual Basic для приложений
Visual Basic для приложений - это инструмент разработки приложений
VBA – уникальное приложение. Поскольку оно встраивается в другое приложение и расширяет его
функциональные возможности
Например, можно добавить собственное меню или функцию к встроенным средствам Excel
Возможности VBA
Язык VBA- это подмножество VB, которое включает почти все его средства создания приложений,
структуры данных и управляющие структуры, возможность создания пользовательских типов данных.
Это позволяет эффективно его использовать для автоматизации деятельности, связанной с обработкой
различных типов документов, например:
 Создать собственное диалоговое окно и придать ему требуемый внешний вид
 Создать макросы, расширяющие функциональные возможности приложения, в которое встроен
VBA
 Изменить меню приложения Office
 Управлять другими приложениями Office или принадлежащими ему данными
 Объединить данные из нескольких приложений Office в одном документе Office
 Автоматически создавать или изменять страницы Web, совместно используя приложения Office и
VBA
Элементы проекта VBA
При решении задач с помощью VBA требуется создать проект. Проект включает несколько
элементов:
Основное приложение
Проекты VBA выполняются совместно с другими приложениями. Приложение, в котором
разрабатывается и выполняется проект VBA, называется основным(WORD, EXCEL, ACCESS, POWER
POINT) Фактически не используя основное приложение нельзя создать приложение VBA
Среда разработки VBA
VBA имеет собственную среду разработки, которая называется интегрированной средой разработки
или IDE. IDE – это окно, содержащее меню, другие окна и элементы, которые применяются при
создании проектов VBA
Формы
В VBA имеется возможность создать формы, которые используются для ввода или вывода данных,
а так же процедура обработки событий, возникающих в этих формах
Код (программа)
Код – это результат программирования
Модули кода
Разбиение сложного кода (программы) на модули (подпрограммы)
Модули класса
В VBA реализован механизм OLE (связывание и внедрение объектов), который позволяет
использовать объекты различных прикладных программ. В VBA можно также создавать и
собственные объекты. Описание объектов включается в модули класса. Каждый модуль класса
содержит полную информацию об одном типе объекта.
Вывод: таким образом, существует целый ряд систем программирования, позволяющих в той или
иной степени реализовать концепцию объектно-ориентированного подхода при разработке
программных средств. К ним относятся С++, Java, Visual Basic. В отличие от Visual Basic, VBA не
является языком объектно-ориентированного программирования в строгом смысле этого слова, но в
нем широко используются элементы объектно-ориентированного подхода и связанные с ним понятия.
Назначением VBA является совместная работа с прикладными программами, а с помощью Visual
Basic можно разрабатывать самостоятельное приложение. Основное различие – в Visual Basic можно
создавать полностью самостоятельное приложение, а проекты VBA выполняются только с помощью
приложения, которое поддерживает VBA.
Лекция 2 РЕДАКТОР VISUAL BASIC APPLICATION
Редактор в визуальном режиме позволяет просмотреть структурный состав объектов, обеспечивает
добавление новых и редактирование существующих элементов, в том числе и макросов. Главное окно
редактора (рис. 1) включает следующие элементы:
1. окно проекта (Project)
2. окно свойств (Properties Window)
3. окно формы (UserForm),
4. окно программного кода (Code),
5. окно просмотра (Object Browser).
1
3
5
2
4
Рис. 1. Главное окно редактора Visual Basic.
Oкно проекта (Project) – содержит дерево-диаграмму открытых в данный
момент файлов (документы, шаблоны или рабочие книги) и объектов,
содержащихся в этих файлах (модули, ссылки, формы). При первой
активизации редактора оно обычно открыто. Если оно случайно было
закрыто, то вызвать его можно тремя способами:

Нажать клавиши <Crtl>+<R>

Нажать кнопку Project Explorer

Воспользоваться меню View| Project Explorer
на стандартной панели инструментов
Oкно свойств (Properties Window) – содержит все свойства объекта
текущего выбора. (Подробнее об объектах и свойствах узнаем на следующих
лекциях). Вкладка Alphabetic (по алфавиту) этого окна предоставляет список
свойств выделенного объекта по алфавиту. Вкладка Categorized (по
категориям) – список свойств по категориям.
Окно формы (UserForm) – содержит элементы
управления , при помощи которых разработчик может
создавать диалоговые окна и формы произвольной
конфигурации, максимально приспособленные для
решения конкретных задач приложения. Элементы
управления группируются в панели инструментов
Toobox
Окно программного кода (Code) -окно
предназначенное для просмотра,
редактирования или создания
программного кода VBA. Чтобы выбрать
режим просмотра необходимо
1
2
использовать кнопки: 1 и 2
Окно просмотра (Object Browser) – используется для поиска во всех модулях определенного
макроса с целью его просмотра и редактирования. При этом Object Browser одинаково работает во
всех приложениях
Лекция 3 Типы данных, переменные и константы
Тип данных – термин, относящийся к определенным видам данных
В VBA все данные подразделяются на числа, текст, даты, логические и другие типы. Для числовых
данных обычно применяют тип Integer (целочисленные значения в диапазоне от -32768 до +32767),
Currency для хранения чисел с четырьмя знаками после десятичной точки и Single – для
вещественных чисел одинарной точности. Для текстовых данных используется строковый тип String
(содержит любые символы, строчные данные заключаются в кавычки).

Byte – (1 байт) для хранения положительных чисел от 0 до 255

Boolean – (2 байта) для хранения логических значений. Может содержать значения False, True

Currency – (8 байт) от -922337203685477.5808 до 922337203685477.5807

Date – (8 байт) для хранения информации о дате и времени

Decimal – (12 байт) переменные сохраняются как 96-битные знаковые целые

Double – (8байт) отрицательные и положительные числа

Integer – (2 байта) все целые числа от -32768 до 32767

Long – (4 байта) все целые числа от – 2417483648 до 2417483647

Object – (4 байта) используется для доступа к любому объекту, распознаваемому VBA.
Сохраняет адрес объекта в памяти

Single – (4 байта) используется для хранения текста. Может содержать от 0 до 2 миллиардов
символов. Может содержать от одного до 6540000

Variant – (16 байт) может хранить любой другой тип данных. Диапазон зависит от фактически
сохраняемых данных
Переменные VBA
Переменная – это имя, которое программист дает области компьютерной памяти, используемой
для хранения данных какого-либо типа.
Выбор имен для переменных
Идентификаторы – это имя переменной, которое вы даете элементам в создаваемых вами
процедурах и модулях
При выборе имен переменных необходимо соблюдать следующие правила:
1. Имена переменных не могут превышать 255 символов
2. Имена переменных не могут содержать пробелы, точку или любой другой символ, который
VBA использует для обозначения математических операций и операций сравнения
3. Имя алфавита должно начинаться с буквы алфавита. После первой буквы имя переменной
может состоять из любых комбинаций, цифр, букв, символов
4. Имя переменной не может дублировать определенные ключевые слова VBA. Если вы выберете
имена переменных
5. Имя переменной должно быть уникальным в рамках его области действия, т.е. имя переменной
должно быть уникальным в пределах процедуры или модуля, в котором вы объявляете эту
переменную
6. Регистр букв в именах не имеет значения
Пример правильных имен переменных:

Var1

Pay_date

Add_Item

Part

Line12
Пример неправильных имен переменных:

New Item – содержит пробел

5thDimension – начинается с цифры

Dim – дублирует ключевое слово

Week\Day – содержит неверный символ \

_Pay – содержит недопустимый символ
вначале
Объявление переменных
1. Неявное
Самым простым способом создания переменной является ее использование в операторе VBA.
VBA создает переменную и резервирует память для переменной, когда эта переменная первый
раз появляется в операторе - неявное объявление переменной. Все переменные, которые были
объявлены неявно, имеют тип VARIANT.
2. Явное
Явное объявление переменных имеет много преимуществ, например, ускоряет
кода, уменьшает количество ошибок в результате неправильного написания
становится более читабельным и понятным, также с помощью явно объявления
можно нормализовать выделения заглавными буквами в имени переменной.
Для явного объявления переменной используют VBA-оператор DIM со
синтаксисом:
выполнение
имени, код
переменных
следующим
Dim ИмяПеременной1 [As Тип], ИмяПеременной2 [As Тип],где:
Dim – ключевое слово, которое сообщает программе имя переменной и
резервирует область памяти для хранения ее значения;
ИмяПеременной – идентификатор, определяющий допустимое имя;
As – ключевое слово для определения типа. При определении переменной после ввода
ключевого слова As появится списокподсказка для выбора нужного типа.
Примеры объявления типизированных переменных:



DIM Товар As Single
DIM NetValue As Integer
Dim NetValue As String*30 – строковая переменная фиксированной длины (30 символов)
Область действия, доступность переменных.
Область действия процедурного уровня.
Переменная, объявленная в процедуре, является доступной только в этой процедуре
Область действия модульного уровня.
VBA позволяет объявить переменные, доступные для нескольких процедур. Когда какая-либо
переменная доступна всем процедурам в модуле, то эта переменная имеет область действия
модульного уровня.
Чтобы установить режим, при котором VBA требует явного объявления для всех переменных
в модуле, нужно добавить команду Option Explicit в область объявления модуля, то есть в начало
модуля перед любыми объявлениями переменных или процедур.
Лекция 4 Структура программного кода VBA
Программа VBA представляет собой совокупность процедур и функций, размещенных в
зависимости от особенностей решаемой задачи в одном или нескольких модулях (это
специальные разделы Excel). Добавление модуля осуществляется по команде Insert->Module (в
этом случае программный код составляется пользователем) или при создании макроса (когда
программа создается автоматически). Созданному модулю присваивается стандартное имя
Module1, Module2 и т. д. Каждый модуль отображается в окне, который имеет две области: общую
область и область подпрограмм. В общей области помещаются операторы описания переменных,
которые являются общими для всех процедур и функций этого модуля. В области подпрограмм
помещается код программы. Окно программного кода предназначено для ввода, просмотра и
редактирования процедур модуля. В данном окне можно просмотреть код выбранной процедуры
или всех процедур модуля сразу. Для удаления модуля следует: выделить имя модуля, выбрать
команду File->Remove Module, щелкнуть в окне диалога на кнопке «Нет»
Download