Disable save/saveas dialog box upon closing

S

Schatzi

I saw another topic on this where the user wanted to automatically
save. I have macros running that disable saving and want the dialog
box not to automatically pop-up as the save button on it doesn't work
anyway.

I was trying all kinds of code such as:

Sub Auto_Close()
WorkbookObject.Saved = True
WorkbookObject.Close
End Sub

I also tried:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub


Still, when I close the application, I get the box asking if I would
like to save changes. How do I keep this box from automatically
popping up? I searched other answers and saw that they recommended
code that automatically saved it, but that is different. I thought I
would be able to simply adjust the code, but I couldn't figure that
out.

Also, I am using ThisWorkbook as I imagine that is the right place for
such code. Please correct me if I am wrong. Thank you.
 
M

Matthew Dyer

I saw another topic on this where the user wanted to automatically
save. I have macros running that disable saving and want the dialog
box not to automatically pop-up as the save button on it doesn't work
anyway.

I was trying all kinds of code such as:

Sub Auto_Close()
WorkbookObject.Saved = True
WorkbookObject.Close
End Sub

I also tried:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

Still, when I close the application, I get the box asking if I would
like to save changes. How do I keep this box from automatically
popping up? I searched other answers and saw that they recommended
code that automatically saved it, but that is different. I thought I
would be able to simply adjust the code, but I couldn't figure that
out.

Also, I am using ThisWorkbook as I imagine that is the right place for
such code. Please correct me if I am wrong. Thank you.


set enable events to false
Application.EnableEvents = False
 
G

GS

Try...

Sub Auto_Close()
Application.DisplayAlerts = False
With WorkbookObject
.Saved = True: .Close
End With
Application.DisplayAlerts = True
End Sub
 
M

Matthew Dyer

set enable events to false
Application.EnableEvents = False- Hide quoted text -

- Show quoted text -

oops, got mixed up. it's actually display alerts.. not enable events.

Application.DisplayAlerts = False
 
S

Schatzi

oops, got mixed up. it's actually display alerts.. not enable events.

Application.DisplayAlerts = False- Hide quoted text -

- Show quoted text -

I had already tried Application.DisplayAlerts = False

I just now inserted the code by GS and it is still not working. When I
click the "x" to close the workbook, the message still pops up asking
if I would like to save changes. I put the code exactly like GS had
into ThisWorkbook. Any ideas of what I can be doing wrong?
 
G

Gord Dibben

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me.Saved = True
End Sub

Will close without saving or asking.

NOTE: after inserting code you must save the workbook once.


Gord Dibben MS Excel MVP
 
S

Schatzi

oops, got mixed up. it's actually display alerts.. not enable events.

Application.DisplayAlerts = False- Hide quoted text -

- Show quoted text -

I tried the code by GS. I copied it exactly as it is into
ThisWorkbook, but it doesn't work. After making changes, I clicked the
top right "x" to close the application and the box popped up asking if
I would like to save changes. Any ideas of what I can be doing wrong?
Thanks.
 
S

Schatzi

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Me.Saved = True
End Sub

Will close without saving or asking.

NOTE: after inserting code you must save the workbook once.

Gord Dibben     MS Excel MVP








- Show quoted text -

Gordon, I just put in your code and it worked perfect. Thank you all
for the replies.
 
G

GS

After serious thinking Schatzi wrote :
I had already tried Application.DisplayAlerts = False

I just now inserted the code by GS and it is still not working. When I
click the "x" to close the workbook, the message still pops up asking
if I would like to save changes. I put the code exactly like GS had
into ThisWorkbook. Any ideas of what I can be doing wrong?

Perhaps your WorkbookObject var was not holding a fully qualified ref
to the wkb being closed. Otherwise, the code I posted worked for the
file I tested it with.
 
G

GS

Another approach to closing without saving (and thus not raising the
alert) is...

WorkbookObject.Close SaveChanges:=False

Of course, 'WorkbookObject' still requires a fully qualified ref be
'Set' to the workbook being closed.
 
S

Schatzi

Another approach to closing without saving (and thus not raising the
alert) is...

  WorkbookObject.Close SaveChanges:=False

Of course, 'WorkbookObject' still requires a fully qualified ref be
'Set' to the workbook being closed.

--
Garry

Free usenet access athttp://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc

I don't know what you mean by fully qualified reference. I imagine
that since I do not know what that means, I must not have done that
correctly.
 
G

GS

Schatzi has brought this to us :
I don't know what you mean by fully qualified reference. I imagine
that since I do not know what that means, I must not have done that
correctly.

Your code suggests that 'WorkbookObject' refs a specific open workbook,
and so this object variable should have been initialized at some point
elsewhere in your code using the 'Set' statement something like...

Set WorkbookObject = Workbooks("Filename.xls")

Otherwise, 'WorkbookObject' means nothing to VBA.
 

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