Есть ли событие DocumentAfterPrint в MS Word? - PullRequest
1 голос
/ 21 июля 2009

Я работаю над проектом, в котором мне нужно вернуть текстовый документ обратно в определенное состояние после его печати. Я обнаружил событие DocumentBeforePrint , но не могу найти событие DocumentAfterPrint. Это плохо документировано или существует какой-то другой обходной путь?

Ответы [ 3 ]

2 голосов
/ 21 июля 2009

Здесь один обходной путь на основе имен подпрограмм. Я не верю, что есть конкретное событие DocumentAfterPrint, как вы хотите. Вот код:

Sub FilePrint()
'To intercept File > Print and CTRL-P'

MyPrintSub

End Sub

Sub FilePrintDefault()
'To intercept the Standard toolbar button'

MyPrintSub

End Sub

Sub MyPrintSub()

Dialogs(wdDialogFilePrint).Show
'Your code here, e.g:'
MsgBox "I am done printing."

End Sub

ОБНОВЛЕНИЕ: Обратите внимание на ошибки в ответе Уилла Рикардса ниже.

1 голос
/ 21 июля 2009

Глядя на события приложения я не вижу его. Я не вижу этого в документах событий либо. Обратите внимание на предложенный выше обходной путь, который использует методы FilePrint и FilePrintDefault, вы должны прочитать этот сайт . Эти методы заменяют встроенную функцию. Так что вам действительно нужно добавить туда код или сгенерировать его, чтобы вы могли напечатать слово. Также фоновая печать может привести к выполнению вашего кода до того, как он завершит печать. Если вам действительно нужно что-то запустить после печати, вам нужно отключить фоновую печать .

0 голосов
/ 24 мая 2012

Я не верю, что какой-либо из предложенных обходных путей будет работать в Word 2010. Однако я добился успеха, применив метод application.onTime() в конце события documentBeforePrint, чтобы выполнить другую процедуру несколько секунд спустя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...