ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Preventing printing (https://www.excelbanter.com/excel-worksheet-functions/167190-preventing-printing.html)

[email protected]

Preventing printing
 
I want to prevent ptinting of my workbook without using the macro I
have set up for printing. I entered the code below to prevent
printing, but it also prevents my macro from printing. Any ideas how I
can get around this, or it an all or nothing kind of thing? Also below
is my print macro.


Private Sub Workbook_BeforePrint(Cancel As Boolean)
msg = MsgBox("Sorry, printing is disabled for this workbook.",
vbCritical)
Cancel = True
End Sub



Private Sub CommandButton2_Click()

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Module2.SortSunday

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Module2.UnSort_AllDays

Unload UserFormPrinting_Sunday

End Sub

Bernie Deitrick

Preventing printing
 
At the top of a regular code module, declare a public Boolean

Public AllowPrint As Boolean

Then change your code like this:

Private Sub Workbook_Open()
AllowPrint = False
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If AllowPrint Then Exit Sub
msg = MsgBox("Sorry, printing is disabled for this workbook.",
vbCritical)
Cancel = True
End Sub

Private Sub CommandButton2_Click()
AllowPrint = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Module2.SortSunday
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Module2.UnSort_AllDays
Unload UserFormPrinting_Sunday
AllowPrint = False
End Sub

HTH,
Bernie
MS Excel MVP

wrote in message
...
I want to prevent ptinting of my workbook without using the macro I
have set up for printing. I entered the code below to prevent
printing, but it also prevents my macro from printing. Any ideas how I
can get around this, or it an all or nothing kind of thing? Also below
is my print macro.


Private Sub Workbook_BeforePrint(Cancel As Boolean)
msg = MsgBox("Sorry, printing is disabled for this workbook.",
vbCritical)
Cancel = True
End Sub



Private Sub CommandButton2_Click()

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Module2.SortSunday

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Module2.UnSort_AllDays

Unload UserFormPrinting_Sunday

End Sub





All times are GMT +1. The time now is 10:02 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com