Vba 关闭前已删除工作簿中的工具栏,但如果用户单击“取消”,则不会重新出现
我有一个自定义工具栏,它是在Vba 关闭前已删除工作簿中的工具栏,但如果用户单击“取消”,则不会重新出现,vba,excel,Vba,Excel,我有一个自定义工具栏,它是在workbook\u BeforeClose事件中打开和删除工作簿时创建的。但是,如果随后提示用户保存文件(关闭前)并单击“取消”,则文件不会关闭,但我不知道如何自动重新创建工具栏 是否有任何事件会在此时触发,我可以从中调用代码来创建工具栏 您必须评估取消属性 如果用户单击“取消”,则“取消”属性将设置为true 您的代码将如下所示: Private Sub Workbook_BeforeClose(Cancel As Boolean) If Cancel
workbook\u BeforeClose
事件中打开和删除工作簿时创建的。但是,如果随后提示用户保存文件(关闭前)并单击“取消”,则文件不会关闭,但我不知道如何自动重新创建工具栏
是否有任何事件会在此时触发,我可以从中调用代码来创建工具栏 您必须评估取消属性 如果用户单击“取消”,则“取消”属性将设置为true 您的代码将如下所示:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Cancel = True Then
'Do something on cancel
Else
'Do something when not cancelled
End if
End Sub
或者,您可以仅在“取消”为false时进行检查,并且仅在这种情况下删除工具栏
如果这不能满足您的需要,那么您可以将代码添加到AfterSave方法并检查Success属性。
Cancel
总是False
进入处理程序-您可以选择是否在处理程序中将其设置为True
,在这种情况下,关闭被取消,工作簿保持打开状态。向处理程序中添加一些代码,以检查工作簿是否需要保存,如果需要保存,则提示用户是否要保存(或取消关闭)。