Save excel file before printing

N

Nasim

In my project i have a before_save event with many contions and then if
all conditions are met i make a folder and name the file with info from
cell A1 ( if the file exist then it overwrites it).
Then i have a before_print event and i woulld like to save the file
before printing it. My problem is that how do i get it to go to before
save event to check the conditions then save. Currently if i want to
print it, it saves the file without the conditions met.
------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)(works fine)
if condition 1 then cancel = true
if condition 2 then cancel = true
else make directory
save file with value in cell A1
End Sub
-----------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
if condition 1 then cancel = true (same cindition in before_save)
if condition 3 cancel = true
else
activeworkbook.save (it saves without going to before_save)
End Sub
 
N

NickHK

Nasim,
Create a new function, maybe called ValidationCheck, and return a true/false
(or maybe an problem description string) result. Depending on the outcome,
allow/deny the print and/or save.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If ValidationCheck("BeforeSave") = False Then
MsgBox "Cannot Save"
Cancel = True
Exit Sub
End If
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ValidationCheck("BeforePrint") = False Then
MsgBox "Cannot Print"
Cancel = True
Exit Sub
End If
End Sub

Function ValidationCheck(CallingRoutine As String) As Boolean

Select Case LCase(CallingRoutine)
Case "beforesave"
'Save specific Validation code
Case "beforeprint"
'Print specific Validation code
End Select
'Validation code for both/all

ValidationCheck = True ' Or False

End Function

NickHK
 
N

Nasim

Nick,

Thanks for replying but i don't understand how it workes. i don't see
it saving the file to my desired location befor printing it(if all
conditions are met). if you need my codes i can send them to you or
copy here.
Nasim
 
N

NickHK

Nasim,
Well no, the code does not do much. You will need to add you checks and
..saveas if that is what you need.
It was just to outline what you need to do to have the same validation from
the _BeforePrint and _BeforeSave.
If the validation fails, the function returns False and the Save or Print is
cancelled (Cancel=True).
Otherwise those events complete.

NickHK
 

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