Suppress printing using button

Z

zenahs

I currently have the following macro to suppress printing and it almost
works perfectly:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
MsgBox "Information contained in this workbook cannot be printed"
End Sub

The problem is that some individuals (who do not have edit privileges)
may need to print a worksheet before sending the workbook to the end
user (who cannot print anything).

Those users who have edit privileges are currently using a "lock
button" to lock specific cells throughout the workbook from being
edited by the end users. Can this print macro be somehow assigned to
the same button that I'm using to lock cells? I've tried to do this but
it doesn't seem to work. (FYI: If it helps, here is the macro I recorded
in a module to lock the cells):
Sheets("T133B").Select
Range("A1:M133").Select
ActiveWindow.ScrollRow = 1
Selection.Locked = True
Selection.FormulaHidden = False
Range("C4:J4").Select
Sheets("T133A").Select
Range("C3:M44").Select
ActiveWindow.ScrollRow = 12
Selection.Locked = True
Selection.FormulaHidden = False
Range("C5").Select
Sheets("T133A 2nd").Select
Range("C5:M44").Select
Selection.Locked = True
Selection.FormulaHidden = False
Range("C5").Select
Sheets("DLO").Select
ActiveWindow.ScrollRow = 1
Range("C5:M77").Select
Selection.Locked = True
Selection.FormulaHidden = False
Range("C5").Select
End Sub
 
T

Tom Ogilvy

Do you mean you don't want the macro created until they lock the cells. If
so, see Chip Pearson's page on writing code with code

http://www.cpearson.com/excel/vbe.htm

Unfortunately you can not record the creation of the code. You should also
check if the code already exists in case the button is pressed more than
once (or get rid of the button).

You could have a working workbook and then have your button copy only what
is appropriate to a "package" workbook that already has the print macro in
it. It could then do final modifications and then save the workbook.
This "package" workbook would be sent to the customer.

Just note that an smart customer could run code/a macro from another
workbook in which the code disables events and then repeatedly print your
workbook. Code based protection is generally so weak (as is all Excel
based protection) that it is generally not worth the effort.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top