在Excel VBA中获取打印机选项

时间:2014-02-02 03:30:32

标签: excel vba excel-vba printing

我想在用户在Microsoft Excel 2010文档中打印工作表之前和之后运行一个宏。我正在使用Workbook_BeforePrint方法来执行此操作。我想知道的是,如何获得用户在打印工作表时已经选择的打印机选项,以便在使用vba打印文档时可以包含这些选项?例如,无论用户选择打印多少页,下面的代码都只打印1页。我知道我可以使用Thisworkbook.ActiveSheet.Printout副本:= 2或类似的东西,但我不知道如何获取用户选择的页数。此外,我不确定我可能需要包括什么其他的印刷品。我不想要用户选择更改的选项中的任何内容。如果微软已经包含了一个Workbook_AfterPrint方法,那将会容易得多:(。提前致谢!

以下是我在workbook_beforeprint方法

中的内容
If (ThisWorkbook.ActiveSheet.name = "Printable Schedule" And user.colorPrintable = True) Then

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    Cancel = True

    user.colorPrintable = False
    Call updateEmployeeShifts

    ThisWorkbook.ActiveSheet.PrintOut

    user.colorPrintable = True
    Call updateEmployeeShifts

    Application.ScreenUpdating = True
    Application.EnableEvents = True

End If

1 个答案:

答案 0 :(得分:1)

如何使用Application.Dialogs(xlDialogPrinterSetup).Show,以便您可以选择所需的选项然后进行打印。那会有用吗?