0

我正在使用 Visual Studio 2010 Office 工具来“远程控制”Word 2010。这很好用,我还可以打印我创建的文档。但是,当我显示 Word 的打印对话框时,即使我按下取消按钮也会打印文档。为什么会这样?我该如何正确地对按下的取消按钮做出反应?

我的代码如下:

public void Print(string printerName, bool showPrintDialog)
{
    if (m_wordApp == null || m_wordDoc == null)
        throw new InvalidOperationException("...");

    object missing = System.Type.Missing;
    object varTrue = true;

    if (printerName != null)
        m_wordApp.ActivePrinter = printerName;

    if (showPrintDialog)
    {
        Word.Dialog varDlg = m_wordApp.Application.Dialogs[Word.WdWordDialog.wdDialogFilePrint];
        varDlg.Show(ref missing);
    }
    else
    {
        m_wordDoc.PrintOut(ref varTrue, 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);
    }
}
4

1 回答 1

0

抱歉,我使用的是旧版本的代码来调试应用程序,其中行

m_wordDoc.PrintOut(ref ...);

没有被包裹在一个else块中。一旦我调试了我的代码的正确版本,打印对话框就会按预期运行。

不好意思打断...

于 2011-06-21T09:36:34.153 回答