【发布时间】:2014-02-02 03:30:31
【问题描述】:
我有一个宏,我想在用户在 Microsoft excel 2010 文档中打印工作表之前和之后运行它。我正在使用 Workbook_BeforePrint 方法来执行此操作。我想知道的是,如何获取用户在打印工作表时已经选择的打印机选项,以便在使用 vba 打印文档时包含这些选项?例如,无论用户选择打印多少页,我下面的代码都只打印一页。我知道我可以使用 Thisworkbook.ActiveSheet.Printout copies:=2 或类似的东西,但我不知道如何获取用户选择的页面数。此外,我不确定打印时可能需要包含的其他任何内容。我不希望用户选择更改的选项中的任何内容。如果 Microsoft 包含 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
【问题讨论】: