RAN, после подтверждения завершения работы закрывается форма, а окно программы закрывается только после закрытия. Можно ли реализовать полное закрытие программы после подтверждения завершения?
RAN, после подтверждения завершения работы закрывается форма, а окно программы закрывается только после закрытия. Можно ли реализовать полное закрытие программы после подтверждения завершения?Starbirst
K-SerJC, Не силен в макросах. В книге имеются ячейки, которые заполняются пользователем, часть листа защищена от изменения. Также стоит запрет на пересохранение книги. При попытке закрыть файл появляется UserForm. При подтверждении выхода закрывается форма и окно Excel.
K-SerJC, Не силен в макросах. В книге имеются ячейки, которые заполняются пользователем, часть листа защищена от изменения. Также стоит запрет на пересохранение книги. При попытке закрыть файл появляется UserForm. При подтверждении выхода закрывается форма и окно Excel.Starbirst
так и я вас не про макрос спросил что вы хотите? результат работы макроса какой должен быть? код в посте №2 закрывает форму сохраняет книгу и закрывает приложение excel
так и я вас не про макрос спросил что вы хотите? результат работы макроса какой должен быть? код в посте №2 закрывает форму сохраняет книгу и закрывает приложение excelK-SerJC
K-SerJC, почему-то код не закрывает окно Excel, а только выгружает UserForm после подтверждения завершения. При повторной попытке закрыть окно Excel закрывается без всяких запросов.
K-SerJC, почему-то код не закрывает окно Excel, а только выгружает UserForm после подтверждения завершения. При повторной попытке закрыть окно Excel закрывается без всяких запросов.Starbirst
Сообщение отредактировал Starbirst - Пятница, 26.04.2019, 07:41
K-SerJC, почему-то код не закрывает окно Excel, а только выгружает UserdForm после подтверждения завершения. При повторной попытке закрыть окно Excel закрывается без всяких запросов.
потому что он выполняет событие beforSave
первый раз при закрытии формы, возврат на строку end if затем при закрытии уже установлен флаг noevents, выход из процедуры без отмены закрывает приложение
K-SerJC, почему-то код не закрывает окно Excel, а только выгружает UserdForm после подтверждения завершения. При повторной попытке закрыть окно Excel закрывается без всяких запросов.
потому что он выполняет событие beforSave
первый раз при закрытии формы, возврат на строку end if затем при закрытии уже установлен флаг noevents, выход из процедуры без отмены закрывает приложение
якщо ви, мама, не випендривалась, батька би не застрелися [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) ' If MsgBox("Уверены, что хотите завершить работу?" & vbLf & _ "ВНИМАНИЕ! Произведенные изменения & vblf & сохраняются автоматически!", _ vbYesNo + vbQuestion + vbDefaultButton2, "ЗАВЕРШЕНИЕ РАБОТЫ") = vbNo Then Cancel = True: Exit Sub Me.Save Application.Quit End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not SaveAsUI Then Exit Sub End Sub
[/vba]
якщо ви, мама, не випендривалась, батька би не застрелися [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) ' If MsgBox("Уверены, что хотите завершить работу?" & vbLf & _ "ВНИМАНИЕ! Произведенные изменения & vblf & сохраняются автоматически!", _ vbYesNo + vbQuestion + vbDefaultButton2, "ЗАВЕРШЕНИЕ РАБОТЫ") = vbNo Then Cancel = True: Exit Sub Me.Save Application.Quit End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not SaveAsUI Then Exit Sub End Sub
при выходе после UserForm появляется стандартное диалоговое окно.
а так? [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) ' If NoEvents Then Exit Sub 'Cancel = Not CanClose If Not CanClose Then ThisWorkbook.Sheets("Лист").Activate Выход.Show If CanClose Then Application.DisplayAlerts = False Application.EnableEvents = False ThisWorkbook.Save Application.DisplayAlerts = True Application.EnableEvents = True Application.Quit Else: Cancel = True End If End If End Sub
при выходе после UserForm появляется стандартное диалоговое окно.
а так? [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) ' If NoEvents Then Exit Sub 'Cancel = Not CanClose If Not CanClose Then ThisWorkbook.Sheets("Лист").Activate Выход.Show If CanClose Then Application.DisplayAlerts = False Application.EnableEvents = False ThisWorkbook.Save Application.DisplayAlerts = True Application.EnableEvents = True Application.Quit Else: Cancel = True End If End If End Sub