Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Использование событий объекта Application

События. Обработчики событий.

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

Обработчики событий – программы, вызываемые операционной системой. На каждое событие в системе задано некоторая стандартная обработка. Вы можете изменить, точнее, дополнить эти действия, составив свой обработчик события. Для некоторых объектов предоставляется возможность отказаться от стандартной обработки события, это часто реализуется при помощи присваивания параметру события Cancel значения False.

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

Писать руками заголовок обработчика события не надо: выберите в левом верхнем списке объектов объект (в окне кода), а затем в правом верхнем – событие, и VBA сам составит заголовок процедуры-обработчика.

Обработчик события можно вызвать как любую другую процедуру. В примере ниже показано, как по нажатию кнопки CommandButton1 вызывается собственный обработчик события, в котором вызывается обработчик события CommandButton2_Click.

Private Sub CommandButton1_Click()

MsgBox "11"

CommandButton2_Click

End Sub

 

Private Sub CommandButton2_Click()

MsgBox "22"

End Sub

В некоторых языках программирования поддерживается «подъем события» по иерархии объектов. Так в JavaScript происходит поднятие события по иерархии «это есть часть», в FoxPro – по иерархии наследования. В VBA такого нет.

В объектной модели MS Word слишком мало событий у объекта Document. Но возможности Вашего вмешательства можно существенно расширить, если воспользоваться событиями Word.Application. В примере 2 приведен текст, который можно приписать к объекту ThisDocument, и добиться того, что в выделяемых фрагментах программа будет изменять шрифт.

Пример:

Public WithEvents app As Word.Application

 

Private Sub begin_app()

set app = Word.Application

end sub

 

Private Sub app_WindowSelectionChange (ByVal Sel As Selection)

Sel.Font.Bold = True

End Sub

 

Private Sub end_app()

set app = Nothing

end sub

Написав первую строку в окне кода для ThisDocument, выберите, находясь в редакторе, в выпадающем списке объектов (наверху окна кода слева) объект app и посмотрите, какие у него есть события (наверху окна кода справа). В приведенном выше примере использовано событие «изменение выбранного фрагмента»: WindowSelectionChange.

<== предыдущая лекция | следующая лекция ==>
Вычисляемые свойства, свойства только для чтения | Использование диалогов
Поделиться с друзьями:


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


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



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




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