通常在Excel VBA中用“Workbook.BeforePrint”事件在打印前執(zhí)行某項(xiàng)操作或命令,那么,要在打印后再執(zhí)行某個(gè)命令該如何實(shí)現(xiàn)呢?Excel中并沒有提供“AfterPrint”事件,用下面的VBA代碼可以模擬“AfterPrint”事件。
假如在“Sheet1”表的A1單元格包含某個(gè)數(shù)值,需要在打印后讓這個(gè)數(shù)值加“1”,方法如下:
按Alt+F11,打開VBA編輯器,在“工程”窗口中雙擊“ThisWorkBook”,在代碼窗口中粘貼下列代碼:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False ‘不觸發(fā)BeforePrint事件
ActiveSheet.PrintOut
Sheet1.Range("a1").Value = Sheet1.Range("a1").Value + 1
Application.EnableEvents = True
Cancel = True ‘取消打印
End Sub
返回Excel工作表界面,在“工具欄”或“快速訪問工具欄”中點(diǎn)“打印”按鈕打印當(dāng)前活動(dòng)工作表后,Sheet1表A1單元格的數(shù)值就會(huì)自動(dòng)加“1”。