在Excel VBA中获取打印机选项



我有一个宏,我想在用户在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,以便您可以选择所需的选项然后打印。那会起作用吗?

最新更新