Problems with BeforeSave and Application.EnableEvents = False

S

Sanne

Hello,

I learned in this newsgroup to use the BeforeSave event to force the
user to do specific things when he wants to save the workbook. Well,
this works great. But sometimes I get an error I can't avoid.

If the filename already exists I get the question whether I want to
replace the file. If I decide not to replace the file and choose the
button 'No' or 'Cancel' then I get the run- time error
'1004'.

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

fname = Application.GetSaveAsFilename

Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=fname
Application.EnableEvents = True

End Sub

Can anybody give me some hint?
 
R

R.VENKATARAMAN

do you want this alert. if you dont want try to introduce in the beginning

application.displayalerts=false
and later at the end
application.displayalerts=true

I have not checked this.
 
A

Ajtb

Hi Sanne

Application.DisplayAlerts = False

before you try to do a save, should work.

Regards

Andrew Bourke
 
T

Tom Ogilvy

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fName as Variant
Dim ans as Long
fname = Application.GetSaveAsFilename
if fName = False then exit sub
If dir(fname) <> "" then
ans = msgbox( fname & vbNewline & _
"Already exists. Do you want to replace it? ", _
vbYesNo)
if ans = vbNo then
cancel = true
exit sub
end if
End if
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=fname
Application.EnableEvents = True

End Sub


Would be another approach.
 

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

Similar Threads

BeforeSave Problems 2
BeforeSave 7
Excel Excel VBA BeforeSave 0
Before Save 1
Macro to delete part of a macro 1
Need help with BeforeSave event 4
Save not triggering Before_Save event 2
Private Sub Workbook_BeforeSave 2

Top