Excel 2010/2013 - VBA - 如何在打印预览之前运行事件

Excel 2010/2013 - VBA - 如何在打印预览之前运行事件

我花了很多时间试图解决这个问题,并搜索了许多论坛,但还没有找到解决方案。也许这里有人能找到答案……

我想在用户打印工作簿之前运行一些代码(更改一些单元格以改变条件格式、隐藏一些行等)。

在过去,只需运行 Excel 中内置的 _BeforePrint 事件即可实现此目的:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    'Do something
End Sub

在 Excel 2010 及更高版本中,用户可以按 Ctrl-P 或转到文件->打印后单击打印预览。

_BeforePrint 事件仅在用户实际单击“打印”后触发!

因此,在我的宏运行之前,用户看到的是工作表的打印预览。现在工作表看起来不适合打印,并且用户开始操作工作表,因为他们不知道按下打印按钮后工作表将如何安排打印。

有人能解决这个问题吗?

相关内容