MS Word中是否有DocumentAfterPrint事件?

时间:2009-07-20 21:10:14

标签: vba ms-word

我正在开发一个项目,我需要在打印后将word文档返回到某个状态。我找到了DocumentBeforePrint event但我找不到DocumentAfterPrint事件。 文档记录不完整还是存在其他一些解决方法?

3 个答案:

答案 0 :(得分:2)

这是基于子程序名称的one workaround。我不相信你想要的特定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

更新:请注意Will Rickards在下面的回答中的问题。

答案 1 :(得分:1)

查看应用程序事件我看不到它。 我也没有在文件事件中看到它。 请注意上面提供的解决方法,即使用FilePrint和FilePrintDefault方法,您应该阅读this site。这些方法取代了内置函数。所以你实际上需要在那里添加代码或者为它生成代码来实现打印。 后台打印也可能导致代码在完成打印之前执行。如果你真的必须在打印后运行一些东西,你需要disable background printing

答案 2 :(得分:0)

我不相信任何建议的解决方法都适用于Word 2010.但是,我在application.onTime()事件结束时使用documentBeforePrint方法取得了成功几秒钟后要执行的程序。