使用“Ctrl+P”或“文件 - 打印”时,在显示打印预览之前不会调用 Workbook.BeforePrint 事件 (Excel)

马克

我想在 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 版本(在这种情况下它可能很重要)。我担心在使用 Ctrl+P 时在打印预览之前调用 .BeforePrint 事件在您的情况下可能无法实现,因为“ Excel 2013 及更高版本不会在打印预览上运行 Workbook_BeforePrint。 ”(用户 OzRoz,2017)

上面的答案取自提出类似问题线程在回答中,OzRoz 还提到“您可以通过将‘打印预览全屏’图标添加到您的 QAT(快速访问工具栏)来让它运行以进行测试

也许这为您的问题提供了明确的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档