Почему Word 2010 печатается, даже если я отменяю диалог? - PullRequest
0 голосов
/ 21 июня 2011

Я использую Visual Studio 2010 Office Tools для «удаленного управления» 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);
    }
}

1 Ответ

0 голосов
/ 21 июня 2011

Извините, я использовал старую версию кода для отладки приложения, где строка

m_wordDoc.PrintOut(ref ...);

не была заключена в блок else.Как только я отладил правильную версию своего кода, диалог печати вел себя как ожидалось.

Извините, что прерываю ...

...