在有一些页面的打印时,需要根据页面内容做一些签字、盖章等体现审批、权限的操作,这些东西不希望公开给操作的人员,仅由系统根据数据状态进行处理,下面的函数即可以实现在打印前显示图片,打印后又隐藏的操作,也可以修改某一单元格中打印和显示的内容。
变量声名
'在模块中声名全局变量
Public isRealPrint As Boolean
工作表打印函数
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Not isRealPrint Then
' 将你打印前的处理代码放在这里
isRealPrint = True
Range("A1") = "OK" '打印出的此单元格的内容
'Sheets("打印及查询").[C12] = ""
'Sheets("打印及查询").Shapes("图片 1").Visible = msoTrue
'Sheets("打印及查询").PrintOut ' 真实的打印 会再一次进入BeforePrint事件。但由于isRealPrint全局变量已经设置为了True, 所以只是打印而已
ActiveSheet.PrintOut
'将你打印后的处理代码处理放在这里
Range("A1") = "printed" '打印后单元格中的实际内容
'Sheets("打印及查询").Shapes("图片 1").Visible = msoFalse
'Sheets("打印及查询").Range("c12").Formula = "=IF(ISERROR(VLOOKUP(K2,数据源,10,FALSE)), ,IF(VLOOKUP(K2,数据源,10,FALSE)=0,CHAR(127),VLOOKUP(K2,数据源,10,FALSE)))"
Cancel = True '取本次打印
isRealPrint = False
'处理打印时间
If Environ("username") = "wdxu" Then
'满足条件的其它打印后的操作
End If
End If
End Sub
——专注办公软件的二次开发及培训,你有问题,我有思路!
——微博、微信、优快云同号:w_dexu。
——转载请注明出处!
扫码加微信