Объекты OLE и ActiveX

СРЕДА ПРОГРАММИРОВАНИЯ VBA

VBA - Visual Basic for Applications

VBA применяет технологию визуального программирования, т.е. конструирование рабочей поверхности приложения и элементов его управления непосредственно на экране; а также запись всей программы или ее частей при помощи MacroRecorder. MacroRecorder - транслятор, создающий программу (макрос) на языке VBA действий пользователя.

Объекты и их семейства

VBA относится к языкам объектно-ориентированного программирования (ООП). ООП можно описать как методику анализа, проектирования и написания приложений с помощью объектов. Что есть объект в ООП?

Объект- это инкапсулированные данные вместе с кодом, предназначенным для их обработки. Все визуальные объекты, такие как рабочий лист (Worksheet), диапазон (Range), диаграмма (Chart), форма (Userform) - являются объектами.

Семейство(объект Collection) представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа. Например, объект Workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Каждый элемент семейства нумеруется и может быть идентифицирован либо по номеру, либо по имени. Например, Worksheets (1) - первый рабочий лист активной книги, Worksheets («Лист 1») - рабочий лист с именем Лист 1.

 

Объекты OLE и ActiveX

В VBA используется механизм OLE (Object Linking And Embedding - связывание и внедрение объектов), который позволяет взаимодействовать с любыми программами, поддерживающими OLE. Примером элементов, которые можно интегрировать при помощи механизма OLE, являются вставляемые объекты OLEObject, создаваемые, например, при помощи программ WordArt, ClipArt и т.п. OLE - объект отличается от обычного тем, что при выборе внедренного объекта активизируется программа, связанная с этим объектом, и меню приложения заменяется меню программы, его создавшей (этот объект).

Теперь можно, не выходя из основного приложения, работать с данным объектом, редактируя и видоизменяя его средствами создавшей его программы. Кроме того, OLE-технология обладает так называемым свойством Automation, с помощью которого можно устанавливать свойства, применять методы и отрабатывать события внедренных объектов как обычных объектов приложения. С 1996 г. фирма Microsoft ввела новую технологию и теперь то, что раньше именовалось OLE -объект, называется объектом ActiveX, a OLE-Automation называется ActiveX Automation.

Классы

Важнейшим понятием ООП является класс. Класс обычно описывается как проект, на основе которого впоследствии будет создан конкретный объект. Таким образом, класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь, каждый объект, в соответствии с описанным выше, является экземпляром класса.

Иерархия объектов

Объектная библиотека VBA располагает более 100 различных объектов, находящихся на различных уровнях иерархии. Иерархия определяет связь между объектами и показывает пути доступа к ним.

Неполный пример модели встроенных объектов VBA:

Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Разделителями имен объектов в этом ряду являются точки, ряд начинается с объекта Application и заканчивается именем самого объекта. Например, полная ссылка на ячейку А1 рабочего листа Лист 1 рабочей книги с именем Архив имеет вид: Application.Workbooks («Архив»).Worksheets(<^HCTl »).Range («А 1»).

Приводить полную ссылку на объект не обязательно - достаточно неявной ссылки на него: в неявной ссылке упоминание активных в данный момент объектов не обязательно. Если ссылка на ячейку А1 дана в программе, выполняемой в Excel, то можно привести относительную ссылку:

Workbooks(«ApxHB»).Worksheets(<^HCTl »).Range(«A 1»). Если книга Архив активна, то достаточно: Worksheets(<^HCTl»).Range («A1»). Если активен рабочий лист Лист1, то достаточно: Range(«Al»).

Методы

Объект сам по себе не представляет большого значения в программе. Важно то, какие действия можно совершать над объектом, и какими свойствами он обладает. Метод представляет собой действие, выполняемое над объектом.

Синтаксис применения метода:

Объект. Метод

Application.Quit - метод Quit (закрыть) закрывает приложение Application.

Метод можно применить ко всем объектам семейства.

Worksheets («Лист1»). ChartObjects.Delete. - удалить все диаграммы с рабочего листа Лист1, где ChartObjects - семейство диаграмм.

Свойства

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

Синтаксис установки значения свойства:

Объект. Свойство = ЗначениеСвойства

Application.Caption = "Пример" - изменяется заголовок окна Excel посредством задания свойства Caption объекту Application.

Свойство можно изменять сразу у всех объектов семейства:

Worksheets. Visible = False - объекту Visible (видимость) дается значение

False (ложь) и все рабочие листы активной книги (семейство объектов Worksheets) скрываются.

Среди свойств особое место занимают свойства, возвращающие объект:

ActiveWindow - возвращает активное окно Excel.

Active Workbook - возвращает активную рабочую книгу активного окна Excel.

ActiveSheet - возвращает активный лист активной рабочей книги.

ActiveDialog - возвращает активное диалоговое окно активного рабочего листа.

ActiveChart - возвращает активную диаграмму активного рабочего

листа.

ActiveCell - возвращает активную ячейку активного рабочего листа.

 

ActiveCell

ActiveWindow. ActiveCell

Application. ActiveWindow.ActiveCell

 

 

- эти определения эквивалентны.

Событие

Событие представляет собой действие, распознаваемое объектом (щелчок мыши, нажатие клавиши и т.д.), для которого можно запрограммировать отклик. События возникают в результате действий пользователя или программы или могут быть вызваны системой.

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

Переменная - это такая часть программы, которая имеет имя и значение. Имя переменной уникально и неизменно, а значение может меняться в процессе выполнения алгоритма. Имя переменной - это строка символов, которая идентифицирует (англ. identify - распознавать, устанавливать идентичность) переменную в программе.

Имя переменной - идентификатор.

Допустимые имена:

1. Длина не превосходит 255 символов.

2. Имя не может содержать точек, пробелов и следующих символов: %, @, &,!, #, $.

3. Имя может содержать любую комбинацию букв, цифр, символов, но начинается с буквы.

4. Имя не должно быть ключевым словом VBA.

Ключевое слово языка - зарезервированное (служебное) слово. Хотя регистр букв в имени не играет никакого значения, но предпочтительно выделение смысла переменной:

Процентнаяставка - ПроцентнаяСтавка

Х_назнач – Х_НазНач.

Значение переменной - это данные, которые хранятся и обрабатываются системой VBA. Хранятся и обрабатываются данные по-разному, что зависит от принадлежности данных к определенному типу.

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

В языке VBA переменная имеет один из 15 типов:

1. Короткое целое число (Byte) - размер (байт) 1, значение 0-255.

2. Логический (Boolean) - 2 байта, значение True, False.

3. Целое число (Integer) - 2 байта.

4. Длинное целое число (Long) - 4 байта.

5. Десятичное число обычной точности (Single) - 4 байта.

6. Десятичное число двойной точности (Double) - 8 байт.

7. Десятичное протяженное число (Currency-денежный) - 8 байт. Значением этой переменной является число, имеющее до 15 знаков слева от десятичной точки и до 4 знаков справа (обеспечивает точность до 1 копейки).

8. Масштабируемое целое число (Decimal) - 14 байт.

9. Дата (Data) - 8 байт (информация о дате).

10. Объект (Object) - 4 байта (любой указатель объекта) ссылка на объект, в частности на элемент управления экранной формы.

11. Строка переменной длины (String) - 10 байт + длина строки.

12. Строка постоянной длины (String) - длина строки

13. Произвольное значение (Variant) - 16 байт - числовые подтипы: переменная может иметь любой тип.

14. Строковые подтипы (Variant) - 22 байта + длина строки.

15. Тип данных, определяемый пользователем (с помощью ключевого слова Туре) - объем определяется элементами.

Форма записи значения с использованием буквы Е: 0.000005 - 5Е-6 47000000 - 4.7Е+7

Символы @ # $ % & ! - используются в качестве суффиксов переменных различных типов.








Дата добавления: 2016-02-04; просмотров: 1956;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.014 сек.