Excel的条件的内容/格式打印vs.屏幕和页符
-
19-09-2019 - |
题
我有一个VBA出版的宏在Excel其产生的一个出版工作簿的基础上的一个主配置的工作表和一些工作单的数据。所公布的版本是直线数据,依然格式,但没有公式和与某些注释和背景信息抑制。基本上,主结构包含一个表格的工作表名称和范围可以发布。
做的出版印刷版本,一些工作需要分页插入。我意识到我可以将这些基于同样的结构,我也可以改变的印刷方向和利润率的一个特别工作表,通过增加一些更多的列为我的主片。
这里涉及的棘手的位。如果一个表格有一些页符插在出版过程中,我想是一个信息行之前插入网页的突破,表示该表是继续在下一页。但我只想要这个出现在印刷版本,没有显示在屏幕上显示。
有没有办法做到这一点?
解决方案
第一,插入一个行和隐藏它之前刚刚分页。然后,你可以使用 BeforePrint
事件的工作簿上找到的所有行的"看看下一页"文本,和然后取消它们。
Sub Workbook_BeforePrint(cancel as Boolean)
Dim rngCell as Range
set rngCell = ActiveSheet.UsedRange.Find("See Next Page")
while not rngCell is Nothing
if not rngCell is Nothing then
rngCell.EntireRow.Hidden = false
end if
set rngCell = ActiveSheet.UsedRange.FindNext()
loop
End Sub
这会让你有点被你需要去,但是,它会让你容易受到这个问题的事实,那就是没有 AfterPrint
.所以,你可以做什么如下:
Sub Workbook_BeforePrint(cancel as Boolean)
Application.EnableEvents = false
'Unhide rows here
if cancel then
Workbook.PrintPreview()
else
Workbook.PrintOut()
end if
'Rehide rows here
Application.EnableEvents = True
End Sub
注意, cancel
基本上会告诉你如果它打印预览或一个实际的打印的命令。它很好,我想。
不隶属于 StackOverflow