excel 2007 vba Application.Dialogs(xlDialogPrint)。如果用户选择打印预览,则显示崩溃

时间:2010-08-04 22:03:08

标签: excel vba printing excel-2007

在Excel 2007中,有一个触发宏的按钮,它从多个页中选择几张并发送到Application.Dialogs(xlDialogPrint).Show。作为选择少数表格的一部分,还有其他宏触发,如显示某些行,密码保护和取消保护等。

除非用户单击该打印机对话框中的“打印预览”按钮,否则它会打印并取消。它显示打印机对话框很好,但无论是打印还是关闭它都会崩溃。

它似乎第二次贯穿整个宏并崩溃,因为预期值和设置在第一次运行时不像正常那样。

通过Application.Dialogs(xlDialogPrint)打印机对话框启动打印预览时,可以通过任何方式记录或捕获打印预览对话框。显示?

我尝试更改传递的参数,例如

Application.Dialogs(xlDialogPrint).Show ,,,,,False
Application.Dialogs(xlDialogPrint).Show Arg6:=False

但这些都不起作用;我已经读过你无论如何也无法改变对话框。

(希望这很清楚)

1 个答案:

答案 0 :(得分:0)

不确定是否要直接从按钮单击显示打印预览。通常我会使用这样的东西。我发现首先查看预览更容易,然后决定是否要打印出硬拷贝。但它可能不适合你的情况。

Private Sub CommandButton1_Click()

    Dim vSheets() As Variant

    vSheets = Array("Sheet1", "Sheet2")
    ActiveWorkbook.Sheets(vSheets).Select 'sheets need to be selected
    ActiveWorkbook.PrintOut preview:=True 'brings up print preview
End Sub