This works fine for me in 2010

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6")).Select
    Application.OnTime Now, "AfterPrint"
End Sub
BTW, shouldn't AfterPrint be a Public procedure?