我有一个MS Word文档模板,要求用户输入信息,执行一些有效性检查,打印文档,然后关闭文件。如果没有更多打开的文件,则退出Word。
它很好用,但是一旦我添加了代码以退出Word,就停止了打印。如果打开另一个文档,它将打印,因为它不会退出word。
我添加了一个计时器和DoEvents函数,以在退出前延迟1.5秒,这允许在退出语句之前有时间将文档发送到打印机。此方法有效,但似乎容易出错,因为在某些情况下等待时间可能不够。
有什么办法可以证明文件实际上是从VBA发送到打印机的?
当前代码如下:
...
DocsOpen = Application.Documents.Count = 1
ActiveDocument.PrintOut
Timer1 = Timer
Do While Timer < Timer1 + 1.5
DoEvents
Loop
ActiveDocument.Close False
If DocsOpen Then Application.Quit False
...
谢谢!