Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.150.240] |
|
Сообщ.
#1
,
|
|
|
Word:
Создаем класс, например MyClass. В нем пишем: Public WithEvents app As Application Выбираем в комбобоксе выбора объектов "app" и в комбобоксе выбора процедур нужную процедуру обработки события Private Sub app_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean) MsgBox "BeforeSave" End Sub Создаем модуль. В нем: Public n As New MyClass Public Sub aStart() Set n.app = Application End Sub Для того чтобы событие начало срабатывать, нужно запускать процедуру aStart. Можно это делать при открытии документа. Т.е. в модуле документа пишем: Private Sub Document_Open() aStart End Sub Также все это можно делать на уровне NORMAL.DOT. Только для этого нужно будет запускать aStart через AutoExec, например. Пишем в модуле ThisDocument в Normal: Public Sub AutoExec() aStart End Sub |
Сообщ.
#2
,
|
|
|
Excel:
Делаем все то же самое, что и для Word'а. Единственное отличие - aStart запускаем через Workbook_Open, естественно Для того чтобы работать с событиями в любой открываемой книге, можно использовать личную книгу макросов (PERSONAL.XLS). Один из способов добраться до этой книги - начинаем производить запись макроса и в диалоговом окне "Запись макроса" в поле "Сохранить в:" выбираем "Личная книга макросов", нажимаем "ОК"; останавливаем запись. В редакторе VBE в появившемся проекте PERSONAL.XLS оформляем модули с кодами |
Сообщ.
#3
,
|
|
|
PowerPoint:
Таким же образом, как и для Word'а, создаем модуль класса с объектной переменной. Но для того, чтобы автоматически присвоить свойству app объект Application при открытии приложения, необходимо запускать процедуру Auto_Open при помощи установленной надстройки (Add-In). Готовый Add-In с примером использования можно взять в аттаче, или на сайте автора. Создаем модуль и в нем пишем: Public n As New MyClass Sub Auto_Open() Set n.app = Application End Sub После того, как установим надстройку - можем пользоваться Кроме использования событий "по-умолчанию" Auto_Open и Auto_Close, данный Add-In позволяет без создания объектной переменной приложения использовать такие события, как: Auto_Print, Auto_ShowBegin, Auto_ShowEnd, Auto_NextSlide Прикреплённый файлautoevents.zip (38.79 Кбайт, скачиваний: 288) |