我想在用户在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
答案 0 :(得分:1)
如何使用Application.Dialogs(xlDialogPrinterSetup).Show
,以便您可以选择所需的选项然后进行打印。那会有用吗?