Вопрос:
Всякий раз, когда код выполняется во время открытия нескольких книг, офис перестает работать с сообщением
Microsoft Office Excel перестала работать
Windows может попытаться восстановить вашу информацию и перезапустить программу.
Что не так с кодом? Я использую MS Office 2007 для Windows7
Private Sub Workbook_BeforeClose(Cancel As Boolean) close_without_saving End Sub Sub close_without_saving() Application.DisplayAlerts = False ThisWorkbook.Saved = True If Application.Workbooks.Count < 2 Then Application.Quit Else ThisWorkbook.Close End If End Sub Лучший ответ:
Если вы хотите закрыть книгу без внесения изменений. Тогда вы можете использовать такой код в модуле книги ~
Sub Auto_Close() ThisWorkbook.Saved = True End Sub
Вы также можете использовать это для закрытия книги без сохранения изменений.
Sub CloseBook2() ActiveWorkbook.Close savechanges:=False End Sub
Эта процедура может быть прикреплена к кнопке Close X. Рабочая книга никогда не закрывается частично, она всегда будет закрыта со всеми листами, содержащимися в этой книге. DisplayAlerts = False, а впоследствии True может быть включен в процедуру. Это не должно создавать проблемы, такие как
Sub CloseBook() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub