Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Расширение объектной модели

Программист может дополнить встроенную в Word или Excel объектную модель, хотя такое дополнение во многом ограничено. К некоторым объектам можно приписать свойства, методы, обработчики событий. Это – только объекты, видимые в окне проекта. Так, например, к документу Word можно добавить свойства и методы, написанные Вами, можно добавить свойства к листам Excel. Но невозможно приписать свойства к абзацу, ячейке и т.п. Добавляемые свойства описываются в общей области объекта (General, на самом верху перед первой процедурой). Описание такое же, как и описание переменных.

Пример.

Пусть в окне кода, связанном с листом Sheet1, Вы написали следующее:

Public maxcena as Integer

Тогда в модуле вы можете обратиться к этому свойству следующим образом:

ActiveWorkbook.Sheet1.maxcena=56

Помните, что эти свойства не сохраняют значения между запусками документа! Если же Вам требуется сохранить данные между открытиями WORD-файла, то статические переменные, статические свойства встроенной объектной модели Вам не подойдут, поскольку под эти свойства-переменные память выделяется и инициализируется при открытии документа. Если Вам требуется сохранить какие-то значения, то есть сохранить "состояние" документа, воспользуйтесь встроенным в объектную модель Word объектом Variables. Он позволяет создавать, удалять хранимые поименованные переменные.

Пример.

Создание хранимой поименованной переменной:

ThisDocument.Variables.Add "nn", "567"

Обращение к ней, может быть, например, таким:

MsgBox ActiveDocument.Variables("nn")

Или таким:

MsgBox ActiveDocument.Variables(1)

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

Таким образом, получается, что создание объекта некоторого встроенного типа – это добавление элемента в коллекцию, а уничтожение объекта – это удаление элемента из коллекции. Обычно выполняется это с помощью методов ADD, REMOVE.

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

VBA не позволяет сформировать ActiveX объект. Но во многом аналогичный ему VB (самостоятельная среда разработки приложений, не встроенная в Office) позволяет это сделать. Реально ActiveX объект - это просто сохраненный пользовательский класс, получивший уникальное имя.

<== предыдущая лекция | следующая лекция ==>
Базовые понятия ООП | Коллекция
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 285; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.