View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default Save excel file before printing

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

"Nasim" wrote in message
oups.com...
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
----------------------------------
I am using excel 2003
Any help will be appreciated.