我有一个宏,我想在用户在Microsoft Excel 2010文档中打印工作表。我正在使用Workbook_beforeprint方法来执行此操作。我想知道的是,如何在用户打印工作表时已经选择的打印机选项,以便在使用VBA打印文档时可以包含这些选项?例如,下面的代码只能打印1页,无论用户选择要打印多少页。我知道我可以使用thisworkbook.activesheet.printout副本:= 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
只使用Application.Dialogs(xlDialogPrinterSetup).Show
,以便您可以选择所需的选项然后打印。那会起作用吗?