使用Microsoft.Office.Interop.Word和PrintOut问题自动化Word

时间:2014-05-20 18:03:55

标签: c# ms-word office-interop

我有一个问题,我甚至不确定在哪里转。

首先让我这样说,一般情况下这是正常工作并按预期打印出来并且很好。

有时候,我经历了一次"打嗝" Word正在尝试使用打印输出的参数进行{application} .Application.Printout,这些参数都设置为" Missing"。它的Office 2007。

WordApp.Application.PrintOut(ref zBackGround, ref zMissing, ref zMissing, ref OutFileName, ref   zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing, ref zMissing);

正在发生的事情是那些"打嗝"情况没有任何过程,没有打印。我在任务管理器中有一个WINWORD.EXE。显然,当我杀死那个过程时,一切都会回到功能处理它需要的下一个项目。我找到了一份文件,我可以随意重复打嗝。所以,基本上复制了这种情况。

但同样,这在很大程度上是一个变数情况。

另一个有趣的事情是我在Oracle Virtual Box中创建了一个Windows 7 Enterprise 32位虚拟机作为VM。完全相同的代码可以毫无问题地工作,这意味着我能够在一个环境中复制的内容在Window 7环境中按预期工作(打印)。

因此,我创建了一个Windows 2003 Server虚拟机,它与遇到此问题的主服务器相同。它在那个虚拟盒子里工作。

所以,我转移到另一台通常不会运行的服务器上。我遇到了同样的问题。

是否有人提供有关可能导致此问题的信息?

对于这种情况或类似的其他情况,我可以绕过。在一切正常的情况下,我最终捣毁打印出来的文档并退出(无论如何都要释放单词com对象)。有没有办法只计算打印输出的时间,如果经过这么多秒后再退出并退出WordApp然后释放单词com对象?

这个让我有点难过。

1 个答案:

答案 0 :(得分:0)

这是垃圾邮件到达的结果。我解决了这种情况,只是如果没有附件就禁止任何电子邮件继续处理。