【发布时间】:2019-05-24 10:25:48
【问题描述】:
我想在 Excel 中使用 BeforePrint 事件,以便根据各种参数编辑最终打印输出的页眉和页脚。为了让用户检查页面设置是否正确,需要在 Excel 中显示打印预览之前调用此代码。使用 VBA 代码ThisWorkbook.PrintPreview 调用打印预览时,会在显示预览之前触发该事件,但是当使用“Ctrl+P”或“文件 - 打印”时,在文档发送到打印机之前不会调用该事件,所以打印预览不会显示最终的打印输出。代码Application.CommandBars.ExecuteMso "PrintPreviewAndPrint" 也会导致同样不满意的结果。
我注意到,当使用ThisWorkbook.PrintPreview 时,预览以全屏模式显示,而其他方法显示“正常”打印预览。为了测试是否调用了事件,我使用了以下一小段代码。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Debug.Print "BeforePrint"
End Sub
我需要一种显示正确打印预览的万无一失的方法,因此无法选择使用带有上述 VBA 代码的按钮。有什么建议吗?
提前致谢,mk
【问题讨论】:
标签: excel vba events printing preview