2009-07-20 70 views

回答

2

这里是one workaround基于子程序名称。我不相信像你期望的那样有一个特定的事件。代码如下:

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

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

0

我不相信任何建议的解决方法在Word 2010中都能正常工作。但是,我通过在documentBeforePrint事件的末尾使用application.onTime()方法取得了成功,以使其他过程在几秒钟内执行后来。