2009-12-09 106 views
1

我们在PowerPoint Addin中添加了C#代码以进行自定义打印。在Office 2003中,PowerPoint 2007通过C#打印对话框

SendKeys.Send("^+{F12}"); 

可以正常工作,在打开对话框后做一些事情。

但是,在Office 2007中,它并不是,而只是将文档发送到打印机而没有对话框。

获取对话框非常重要。

使用“^ {p}”或“^ p”作为字符串将获得同样的结果,没有对话框。

Application.CommandBars.ExecuteMso("FilePrint"); 

也将acheive同样的事情,没有对话:

通过执行命令。

任何线索,提示或建议,我怎样才能让打印对话框出现将不胜感激。

回答

0

为了记录在案,这里是我是如何能够最终得到这个工作,但我不完全理解为什么。

三两件事要求(所有必要)
- 使用ExecuteMso代替的SendKeys
- 删除之前的代码要打印的选择的特定滑动
- ExecuteMso()之后添加调用Application.DoEvents()

还可以选择恢复的代码,但是在打印调用之后,还包括DoEvents()调用。

0
+0

感谢您的参考。这里的建议是使用: PrintOptions.PrintInBackground = Microsoft.Office.Core.MsoTriState.msoFalse; 在我的情况下,这会导致出现一个进度窗口,显示哪些页面正在打印,但不会导致打印对话框出现, – 2009-12-10 06:51:43