View Single Post
  #11   Report Post  
Posted to microsoft.public.excel.programming
Mike Mike is offline
external usenet poster
 
Posts: 3,101
Default close excel without saving

Gord,
This is doing my head in.
To be able to save master as a template I must first deactivate Toms' code
because it isn't allowing me to 'save as'. If I reactivate after that then
nobody will be able to 'save as'. If I don't reactivate then I lose the exit
function (Toms Code) that I was originally trying to achieve.
In a copy master I have the following code which works well when the
activeworkbook
quit button (lower 'X') is used but I can't figure out a way of achieving
the same result
when I use the application quit button (upper 'X'). When I use this latter
button the
workbook closes but leaves the tool bar at the top but if I have a second
workbook open the first book closes but the second one just freezes.
If any of this makes sense and you can help I would most grateful.
Mike

Private Sub Workbook_beforeclose(cancel As Boolean)
ThisWorkbook.Saved = True
ThisWorkbook.Close
ActiveWorkbook.Close
Application.Quit
End Sub

"Gord Dibben" wrote:

Mike

Save your master workbook as a Template(*.xlt) and have the user create a new
workbook from that.


Gord Dibben Excel MVP

On Wed, 22 Jun 2005 14:47:03 -0700, "Mike"
wrote:

Tom,
Many many thanks, your code does work.
However an unforeseen problem has arisen.
I have a 'save as' macro that has been disabled by your code.
What I am trying to achieve is for nobody to alter my master workbook so
when it is closed it returns to it's pristine state, but also allowing the
user to save the work he has done as a different file name.
Any ideas ?
Thanks for all your trouble.
Mike

"Tom Ogilvy" wrote:

Since I copied it out of a workbook, it is right. Perhaps you didn't
correct for wordwrap.

here is one adjusted so you shouldn't have a wordwrap problem

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

Private Sub Workbook_BeforeSave( _
ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Cancel = True
End Sub

--
Regards,
Tom Ogilvy



"Mike" wrote in message
...
Tom,
Me again.
Have copied/pasted your code in but the second private sub is showing in
red
which indicates something is quite right.
Mike

"Tom Ogilvy" wrote:

in the ThisWorkbook module

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
cancel = True
End Sub

After you add the code, you will have to disable macros manually, then
save
the workbook.
--
Regards,
Tom Ogilvy


"Mike" wrote in message
...
I have inserted various code(s) in vbs "this workbook" using private
sub
auto_close
and private sub work_book close() after other code to close
excel/workbook
without saving or displaying a prompt but none seems to work.
I have used 'application.displayalerts = false'.' application.quit',
'thisworkbook.close savechanges:=false' etc etc in a variety of
different
combinations.
Perhaps I am placing the code in the wrong place or perhaps I should
be
saving before quitting or ..... ?
Can anyone help ?
Mike