Почему мои макросы запускаются событиями в других документах - PullRequest
1 голос
/ 23 января 2009

Я выполняю код для события WindowSelectionChange в Microsoft Word. Почему, когда я открываю другой документ, в котором нет этого макроса, код все еще вызывается на WindowSelectionChange. У меня нет макроса, сохраненного в шаблоне по умолчанию, он хранится в шаблоне, на который не ссылаются мои другие документы Word.

Можно ли ограничить это событие документом, содержащим код VBA?


Макро-события запускаются нежелательно только в том случае, если документ, в котором они должны запускаться, открыт одновременно. Проект хранится в моем собственном файле .dot, а не в шаблоне по умолчанию.

Это просто природа обязательных событий в слове? Это влияет на все открытые документы. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 23 января 2009

Я считаю, что событие WindowSelectionChange вызывается на уровне приложения, верно? Так что, в принципе, я думаю, что способ исправить это - изменить код в WindowSelectionChange, чтобы он выполнялся только в том случае, если ActiveDocument = ThisDocument. ThisDocument - это документ, в котором хранится ваш код, поэтому вы можете сделать так, чтобы код выполнялся только тогда, когда ThisDocument является активным документом в Word.

0 голосов
/ 23 января 2009

Да, в редакторе макросов убедитесь, что ваш код находится в проекте для вашего документа и называется "Нормальный".

0 голосов
/ 23 января 2009

Возможно ли, что вы сделали макрос в шаблоне по умолчанию, а не в конкретном документе?

...