![Excel 2010/2013 - VBA - 如何在打印预览之前运行事件](https://linux22.com/image/1460144/Excel%202010%2F2013%20-%20VBA%20-%20%E5%A6%82%E4%BD%95%E5%9C%A8%E6%89%93%E5%8D%B0%E9%A2%84%E8%A7%88%E4%B9%8B%E5%89%8D%E8%BF%90%E8%A1%8C%E4%BA%8B%E4%BB%B6.png)
我花了很多时间试图解决这个问题,并搜索了许多论坛,但还没有找到解决方案。也许这里有人能找到答案……
我想在用户打印工作簿之前运行一些代码(更改一些单元格以改变条件格式、隐藏一些行等)。
在过去,只需运行 Excel 中内置的 _BeforePrint 事件即可实现此目的:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Do something
End Sub
在 Excel 2010 及更高版本中,用户可以按 Ctrl-P 或转到文件->打印后单击打印预览。
_BeforePrint 事件仅在用户实际单击“打印”后触发!
因此,在我的宏运行之前,用户看到的是工作表的打印预览。现在工作表看起来不适合打印,并且用户开始操作工作表,因为他们不知道按下打印按钮后工作表将如何安排打印。
有人能解决这个问题吗?