ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Infinite loop cancelling BeforeSave (https://www.excelbanter.com/excel-programming/417830-infinite-loop-cancelling-beforesave.html)

Greg Lovern

Infinite loop cancelling BeforeSave
 
If I set Cancel = True in the BeforeSave event:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in an infinite loop.

Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?

If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:

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

But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.

Any ideas?


Thanks,

Greg

Jim Thomlinson

Infinite loop cancelling BeforeSave
 
If you don't want the file to be saved then open it as read only. The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True

--
HTH...

Jim Thomlinson


"Greg Lovern" wrote:

If I set Cancel = True in the BeforeSave event:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in an infinite loop.

Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?

If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:

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

But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.

Any ideas?


Thanks,

Greg


Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg



Greg Lovern

Infinite loop cancelling BeforeSave
 
On Sep 29, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
If you don't want the file to be saved then open it as read only.


At the time the file is opened, I don't know whether I will want to
cancel the save, and even if I do want to cancel some saves, I might
not want to cancel other saves of the same workbook.

The reason for the cancel is to check
SpecialCells(xlCellTypeConstants), which doesn't work right if run
from the Before_Save event. In the Before_Save event,
SpecialCells(xlCellTypeConstants) reports all cells as occupied. See:

http://groups.google.com/group/micro...0cad2e217322da

So I was cancelling the save, calling another procedure that did the
SpecialCells(xlCellTypeConstants) task, and then setting a flag and
saving from that other procedure. In Before_Save, I checked for that
flag and cancelled if not set. And of course, unset the flag.

Greg


The Cancel
stops the save event but XL does not like closing workbooks that are not
saved. Try adding

ThisWorkbook.Saved = True


That got me further but still wasn't working. I've forgotten exactly
what was going wrong. What I'm doing now is doing the
SpecialCells(xlCellTypeConstants) task in the Before_Close event,
where it works fine, and setting a flag. In Before_Save I check for
that flag, and do the SpecialCells(xlCellTypeConstants) task only if
the flag is not set. And of course, unset the flag. That's been
working fine.

Greg


--
HTH...

Jim Thomlinson

"Greg Lovern" wrote:
If I set Cancel = True in theBeforeSaveevent:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True '(to save this change, I set a breakpoint on this
line to skip it; then removed the breakpoint)
End Sub


And then make any change to the workbook, and close the workbook, and
click Yes when prompted whether to save the changes, it prompts me
again whether to save the workbook. As long as I continue clicking
Yes, it continues prompting me in aninfiniteloop.


Why does Excel continue to prompt? I cancelled the save; shouldn't
Excel just close it without saving?


If the user clicks Yes in that situation, what can I do to stop Excel
from prompting again? An inelegant workaround is to SendKeys a Cancel
key to the prompt dialog, like this:


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


But then I'm sending that Cancel key under all Save circumstances. I
could set a flag in BeforeClose and only SendKeys the Cancel key when
that flag is set. But I'd rather do it without SendKeys if possible.


Any ideas?


Thanks,


Greg




All times are GMT +1. The time now is 09:37 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com