Читаем VBA для чайников полностью

Если вам не чуждо чувство прекрасного, вы можете заметить, что для таких щедро одаренных созданий термин объект не очень-то подходит, поскольку эти объекты больше похожи на братьев наших меньших, чем на инертные лампы. У тигров и китов есть отличительные особенности глаз, конечностей и хвостов, а у объектов - свойства. Лошади и собаки умеют по команде выполнять разные трюки или убегать от опасности, а объекты имеют методы и события.

Вы все еще хотите услышать формальное определение? Вот оно: объектом в программе называется именованная единица, объединяющая в себе данные и программный код, использующий эти данные и воздействующий на них. В таком случае говорят, что объект инкапсулирует данные и связанный с ними программный код.

<p>Классы объектов и конкретные объекты</p>

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

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

<p>Коллекции объектов</p>

Коллекция- это VBA-объект специального назначения. Как видно из самого названия, коллекции предназначены для упрощения работы с набором объектов, когда этот набор объектов нужно использовать как одно целое. Как правило, все объекты в коллекции имеют один и тот же тип. Например, коллекция Shapes в Visio состоит из объектов Shape, а коллекция Pages - из объектов Page.

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

Позже, в разделе "Работа с коллекциями объектов", мы с вами выясним, как получить доступ к отдельным объектам в коллекциях, а в главе 13 вы узнаете, как использовать свойства и методы самих коллекций (не забывайте, что они тоже являются объектами) и как создавать свои собственные коллекции на основе родового VBA-объекта Collection.

<p>Что такое объектная модель</p>

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

Вся система таких иерархических отношений конкретного VBA-приложения называется объектной моделью этого приложения. Часто представляемая в графическом виде, объектная модель приложения описывает вложения одних объектов в другие. Пример графического представления одной из объектных моделей показан на рис. 12.2.

Рис. 12.2. Объектная модель Visio с компакт-диска Visio 2000

Как видно из рис. 12.2, на вершине объектной модели VBA-приложения находится объект Application (приложение), являющийся контейнером для всех других объектов приложения, с которыми вы можете работать. Ваш VBA-проект тоже является объектом-контейнером, в котором размещаются все созданные вами модули программного кода и формы, равно как и документ проекта. (О структуре VBA-проекта и его компонентах говорилось в главе 7.)

<p>Понимание важности объектной модели</p>

Вам придется сообщать VBA о том, какой конкретный объект нужен вам для работы, поэтому хорошее понимание объектной модели VBA-приложения оказывается очень важным для эффективной работы в нем. С помощью диаграммы объектной модели приложения, подобной показанной на рис. 12.2, очень просто проследить всю цепочку объектов, которой принадлежит нужный вам объект. В данном случае, например, сразу видно, что объект Connect является членом коллекции Connects, принадлежащего объекту Master, который в свою очередь... .

<p>Расширение объектной модели</p>
Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных