C# 如何以编程方式访问;“打印预览和打印”;Office Word 2010中的页面

C# 如何以编程方式访问;“打印预览和打印”;Office Word 2010中的页面,c#,printing,word-automation,word-2010,C#,Printing,Word Automation,Word 2010,我正在编写一个与Microsoft Office Word 2010相关的医学程序(使用C语言)。Word 2010中有一个“打印预览和打印”页面,您可以按Ctrl+P访问该页面。启动Office Word后,我想查看“打印预览和打印”,但看到的是Office 2007/2003中的旧打印预览,这意味着我不知道如何从Office com对象访问此页面 我尝试过的代码: oWordDoc.PrintPreview(); _oWord.Visible = true; 您始终可以尝试执行与热键CTR

我正在编写一个与Microsoft Office Word 2010相关的医学程序(使用C语言)。Word 2010中有一个“打印预览和打印”页面,您可以按Ctrl+P访问该页面。启动Office Word后,我想查看“打印预览和打印”,但看到的是Office 2007/2003中的旧打印预览,这意味着我不知道如何从Office com对象访问此页面

我尝试过的代码:

oWordDoc.PrintPreview();
_oWord.Visible = true;
您始终可以尝试执行与热键CTRL+p相同的操作

试一试


使用SendKeys.Send方法时,异常返回“SendKeys无法在此应用程序内运行,因为该应用程序未处理windows消息。请将应用程序更改为处理消息,或使用SendKeys.SendWait方法”。在那之后,我将send方法改为SendWait,我用小的“p”字母代替大写的“p”,效果很好,谢谢你的快速回复。非常感谢。这种方法会打开word 2003中的旧打印对话框,但谢谢你的快速回复。
SendKeys.Send("^P");
int dialogResult = wordApp.Dialogs[Word.WdWordDialog.wdDialogFilePrint].Show(ref missing);
if (dialogResult == 1)
{
    oWordDoc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                      ref missing, ref missing, ref missing, ref missing,
                      ref missing, ref missing, ref missing, ref missing,
                      ref missing, ref missing, ref missing, ref missing,
                      ref missing, ref missing);
}