Detecting a cancel on Workbook_BeforeClose event?
On 17 Jan 2005, Bob Phillips wrote:
Don Wiss wrote:
Can I detect when a user selects cancel in a BeforeClose event? It appears
to me that the event has already been run when the user is asked if they
want to save, not save, or cancel. I don't see an AfterCancel event.
This as the BeforeClose is removing my Toolbar and I'd like to put it back
after a cancel.
How about removing the toolbar in Workbook_Deactivate, and restore it in
Workbook_Activate as well as workbook_Open?
If in a Workbook_Activate it wouldn't need to be in a Workbook_Open. I am
using this way now. The only downside is when flipping between workbooks
that use the toolbar the toolbar disappears and then reappears. I haven't
yet found a way around this.
This is the code I'm calling on the Workbook_Activate:
Sub RestoreToolbar()
' called by button on Main sheet and workbook activate
Application.ScreenUpdating = False
If DoesToolBarExist("CasFacToolbar") Then
Application.CommandBars("CasFacToolbar").Visible = True
Else
If DoesProjectExist("CFRTAddIn") Then
Application.Run "'CFRT Add-In.xla'!NewToolBar"
Else
Workbooks.Open ActiveWorkbook.path & "\CFRT Add-In.xla"
End If
End If
End Sub
Function DoesToolBarExist(ToolBarName As String) As Boolean
' addin name is case sensitive. is project name, not file name
Dim CB As Object
DoesToolBarExist = False
For Each CB In Application.CommandBars
If CB.Name = ToolBarName Then DoesToolBarExist = True
Next
End Function
Don <donwiss at panix.com.
|