Word Поймать событие активации документа

Программирование на Visual Basic for Applications
Franck
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 09.04.2004 (Пт) 12:21

Word Поймать событие активации документа

Сообщение Franck » 27.02.2006 (Пн) 11:15

Тут с такой проблемой столкнулся, вроде простая, а решить не могу.
При работе с документами Word часто приходится работать с одноименными документами типа несколько открытых report.doc.
Чтобы их различать, решил повесить в заголовок окна полный путь к документу такой строчкой:
Код: Выделить всё
Application.Caption = ActiveDocument.Path

Нужно, чтобы это срабатывало при активации документа, а не при его открытии, т.е., чтобы в заголовке окна всегда висел полный путь к активному документу.
Проблема в том, что у объекта документ всего три события New Close Open, но они не годятся.
Попробовал повесить на событие WindowActivate, не получилось, не срабатывает:
Код: Выделить всё
Public WithEvents appWord As Word.Application

Private Sub appWord_WindowActivate _
        (ByVal Wn As Word.Window)
       Application.Caption = ActiveDocument.Path
End Sub

Естественно, повесил в сласс модуль.
Как можно решить проблему?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.02.2006 (Пн) 13:09

Где-нибудь в другом событии set appWord = Application помести.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Franck
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 09.04.2004 (Пт) 12:21

Сообщение Franck » 27.02.2006 (Пн) 14:20

Где-нибудь в другом событии set appWord = Application помести.

Посместил просто в декларациях:
Код: Выделить всё
set appWord = Application

Говорит, неверная процедура.
Если не затруднит, подскажи пример, а то туплю. :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.02.2006 (Пн) 14:24

Декларация не есть какое-нибудь другое событие. Какое-нибудь другое событие есть, к примеру, _open() какого-нибудь документа. Или нажатие на кнопку, что в принципе предпочтительнее. Вешать макросы на кнопку умеем?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47

    TopList