Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 36
Default Before close - not always deleting sheet- WHY??

In the ThisWorkbook module I have:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Sheets("SheetName1").Delete
ThisWorkbook.Sheets("SheetName2").Delete
On Error GoTo 0
Application.DisplayAlerts = True
End Sub

When the user closes the file, the following behavior occurs:

If user says NO to save changes, the sheets are deleted.
If user says YES to save changes, the sheets are deleted. (good so far....)

BUT, if the user makes a change, saves it, then says NO to the save prompt
when closing, the sheets are *not* deleted.

First of all, I don't understand why the user would get the "save changes?"
prompt right after saving on their own (which it does even if they do
nothing else). Second, I don't understand why the sheets aren't deleted in
this situation.

If anyone can explain, I would really appreciate it! (Using xl2002, no
other subs in ThisWorkbook module.)

Regards,

Patti



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Before close - not always deleting sheet- WHY??

The workbook must be saved to store the file with the sheets deleted.
Perhaps your testing is flawed, but your statement

If user says NO to save changes, the sheets are deleted.


would only be true if the workbook closing was halted in some way.


so the reason they are not deleted in your last example is that the workbook
is not saved. The user gets the prompt because your event changes the
workbook before the point of evaluating whether to show the dialog or not.

--
Regards,
Tom Ogilvy

"Patti" wrote in message
...
In the ThisWorkbook module I have:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Sheets("SheetName1").Delete
ThisWorkbook.Sheets("SheetName2").Delete
On Error GoTo 0
Application.DisplayAlerts = True
End Sub

When the user closes the file, the following behavior occurs:

If user says NO to save changes, the sheets are deleted.
If user says YES to save changes, the sheets are deleted. (good so

far....)

BUT, if the user makes a change, saves it, then says NO to the save prompt
when closing, the sheets are *not* deleted.

First of all, I don't understand why the user would get the "save

changes?"
prompt right after saving on their own (which it does even if they do
nothing else). Second, I don't understand why the sheets aren't deleted in
this situation.

If anyone can explain, I would really appreciate it! (Using xl2002, no
other subs in ThisWorkbook module.)

Regards,

Patti





  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 36
Default Before close - not always deleting sheet- WHY??

I appreciate the reply Tom.

I think I get it...when I said I had "no other subs in ThisWorkbook module"
I was really trying communicate that I wasn't doing any type of Before Save
or thisworkbook.saved =, etc. But, I do delete a commandbar right before
the sheets. I moved that snippet to below the delete sheets code, and it
seems fine now.

It's all in the details isn't it??

You guys just amaze me with your ability to provide accurate answers despite
the faulty explanations we give sometimes!

Regards,

Patti






"Tom Ogilvy" wrote in message
...
The workbook must be saved to store the file with the sheets deleted.
Perhaps your testing is flawed, but your statement

If user says NO to save changes, the sheets are deleted.


would only be true if the workbook closing was halted in some way.


so the reason they are not deleted in your last example is that the
workbook
is not saved. The user gets the prompt because your event changes the
workbook before the point of evaluating whether to show the dialog or not.

--
Regards,
Tom Ogilvy

"Patti" wrote in message
...
In the ThisWorkbook module I have:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Sheets("SheetName1").Delete
ThisWorkbook.Sheets("SheetName2").Delete
On Error GoTo 0
Application.DisplayAlerts = True
End Sub

When the user closes the file, the following behavior occurs:

If user says NO to save changes, the sheets are deleted.
If user says YES to save changes, the sheets are deleted. (good so

far....)

BUT, if the user makes a change, saves it, then says NO to the save
prompt
when closing, the sheets are *not* deleted.

First of all, I don't understand why the user would get the "save

changes?"
prompt right after saving on their own (which it does even if they do
nothing else). Second, I don't understand why the sheets aren't deleted
in
this situation.

If anyone can explain, I would really appreciate it! (Using xl2002, no
other subs in ThisWorkbook module.)

Regards,

Patti







Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
code to close an excel sheet without saving it .(via msgbox) Satyam Reddy Excel Worksheet Functions 2 May 14th 08 02:48 PM
how to setup a excel sheet to be protect after save and close file Marco Excel Discussion (Misc queries) 0 March 11th 08 10:56 PM
Excel creating TMP with each save but not deleting on close Aidan Whitehall Excel Discussion (Misc queries) 1 October 10th 07 05:28 PM
Close Hidden Data Sheet Jeff Excel Programming 7 January 8th 05 09:48 PM
Hanging on sheet close Jesse[_4_] Excel Programming 2 December 4th 03 09:21 AM


All times are GMT +1. The time now is 06:03 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"